diff --git a/InvenTree/locale/bg/LC_MESSAGES/django.po b/InvenTree/locale/bg/LC_MESSAGES/django.po index 3ae0347050c7..d4831de73b58 100644 --- a/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Не е зададена стойност" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Преобразуването на {original} в {unit} не беше успешно" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Зададено е недопустимо количество" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Зададено е недопустимо количество ({exc})" @@ -51,26 +56,26 @@ msgstr "Подробности за грешката могат да се нам msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Бележки" @@ -127,42 +132,42 @@ msgstr "Въведеният домейн на електронната поща msgid "Registration is disabled." msgstr "Регистрацията е деактивирана." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Липсва сериен номер" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Повтарящ се сериен номер" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Невалиден диапазон от групи: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Не са открити серийни номера" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Премахнете HTML маркерите от тази стойност" @@ -331,7 +336,7 @@ msgstr "Китайски (традиционен)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -427,13 +432,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Потребител" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -540,7 +545,7 @@ msgid "parent" msgstr "родител" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -722,7 +727,7 @@ msgstr "Върнат" msgid "In Progress" msgstr "Изпълнява се" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Част" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Наличност" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Място в склада" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Места в склада" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 92178bf6e9da..74a6986b7880 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Není k dispozici žádná hodnota" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nelze převést {original} na {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Vyplněno neplatné množství" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Vyplněno neplatné množství ({exc})" @@ -51,26 +56,26 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Poznámky" @@ -127,42 +132,42 @@ msgstr "Zadaná e-mailová doména není povolena." msgid "Registration is disabled." msgstr "Registrace vypnuta." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplicitní výrobní číslo" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Neplatný rozsah skupiny: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Rozsah skupiny {group} překračuje povolené množství ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Neplatná sekvence skupiny: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Počet jedinečných sériových čísel ({len(serials)}) musí odpovídat množství ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Odstranit HTML tagy z této hodnoty" @@ -331,7 +336,7 @@ msgstr "Čínština (tradiční)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Přihlásit se do aplikace" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -427,13 +432,13 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Uživatel" @@ -474,13 +479,13 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Název" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Popis" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Popis (volitelně)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Cesta" @@ -576,104 +581,104 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Nemáte oprávnění měnit tuto uživatelskou roli." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Pouze superuživatelé mohou vytvářet nové uživatele" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Váš účet byl vytvořen." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "Pro přihlášení použijte funkci obnovení hesla" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Vítejte v InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Vzdálený obraz" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -688,7 +693,7 @@ msgstr "Kontroly zdraví systému InvenTree selhaly" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Nevyřízeno" @@ -722,7 +727,7 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Sloučené položky zásob" @@ -833,7 +838,7 @@ msgstr "Výstup objednávky sestavení dokončen" msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" @@ -881,7 +886,7 @@ msgstr "Vrácení peněz" msgid "Reject" msgstr "Odmítnout" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Neznámá databáze" @@ -933,58 +938,58 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Volitelné" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Sledováno" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Dostupné" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Vytvořit objednávku" msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Díly obědnávky sestavení nemohou být změněny" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Reference" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Díl" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "dokončil" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:300 +#: build/models.py:303 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:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Priorita tohoto příkazu k sestavení" msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Kód projektu pro objednávku sestavení" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Vytvořit objekt" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Množství" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:171 +#: 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:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Lokace" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Umístění zásob pro seškrábnuté výstupy" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Stav" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Priorita" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Vytvořeno" @@ -1931,7 +1941,7 @@ msgstr "Nenastaveno cílené datum" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Dokončeno" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Výchozí měna" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sledovatelné" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1526 +#: common/models.py:1538 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:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 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:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Určuje výchozí chování, když je vyčerpána skladová položka" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Cena" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Webová stránka" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Webové stránky společnosti" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefonní číslo" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Kontaktní telefonní číslo" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Kontaktní místo" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "je zákazník" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Společnost" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Hodnota" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Jednotky" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Zákazník" @@ -4214,7 +4233,7 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Sestavení" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Potvrdit" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 9fd3a812d61a..6e095b6adccb 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Ingen værdi angivet" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Ugyldigt antal angivet" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ugyldigt antal angivet ({exc})" @@ -51,26 +56,26 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Bemærkninger" @@ -127,42 +132,42 @@ msgstr "Det angivne e-mail domæne er ikke godkendt." msgid "Registration is disabled." msgstr "Registrering er deaktiveret." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Serienummer streng er tom" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplikeret serienummer" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Ingen serienumre fundet" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" @@ -331,7 +336,7 @@ msgstr "Kinesisk (traditionelt)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Manglende fil" msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -427,13 +432,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Bruger" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Sti" @@ -576,104 +581,104 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Du har ikke tilladelse til at ændre denne brugerrolle." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Kun superbrugere kan oprette nye brugere" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Eksternt billede" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -688,7 +693,7 @@ msgstr "Helbredstjek af InvenTree system mislykkedes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Afventende" @@ -722,7 +727,7 @@ msgstr "Returneret" msgid "In Progress" msgstr "Igangværende" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Opdel fra overordnet element" msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Flettede lagervarer" @@ -833,7 +838,7 @@ msgstr "Byggeorder output fuldført" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" @@ -881,7 +886,7 @@ msgstr "Refusion" msgid "Reject" msgstr "Afvis" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Ukendt database" @@ -933,58 +938,58 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Valgfri" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Sporet" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Tilgængelig" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Produktionsordre" msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Reference" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Del" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "udført af" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Prioritet af denne byggeordre" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 251914bc065b..f9e5d6da12dc 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Kein Wert angegeben" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Ungültige Menge" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ungültige Menge ({exc})" @@ -51,26 +56,26 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Notizen" @@ -127,42 +132,42 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplizierter Seriennummer" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Ungültiger Gruppenbereich: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppenbereich {group} überschreitet die zulässige Menge ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ungültige Gruppensequenz: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Anzahl der eindeutigen Seriennummern ({len(serials)}) muss mit der Menge übereinstimmen ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" @@ -292,7 +297,7 @@ msgstr "Russisch" #: InvenTree/locales.py:39 msgid "Slovak" -msgstr "" +msgstr "Slowakisch" #: InvenTree/locales.py:40 msgid "Slovenian" @@ -331,7 +336,7 @@ msgstr "Chinesisch (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] In App einloggen" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -340,7 +345,7 @@ msgstr "Email" #: InvenTree/models.py:107 msgid "Error running plugin validation" -msgstr "" +msgstr "Fehler beim Ausführen der Plugin Validierung" #: InvenTree/models.py:162 msgid "Metadata must be a python dict object" @@ -386,7 +391,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -427,13 +432,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Benutzer" @@ -474,13 +479,13 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Name" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Beschreibung (optional)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Pfad" @@ -576,104 +581,104 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Sie haben keine Berechtigung, diese Benutzerrolle zu ändern." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Nur Superuser können neue Benutzer erstellen" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Ihr Konto wurde erstellt." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Willkommen bei InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Grafiken aus externen Quellen" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -688,7 +693,7 @@ msgstr "InvenTree Status-Überprüfung fehlgeschlagen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ausstehend" @@ -722,7 +727,7 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -833,7 +838,7 @@ msgstr "Endprodukt fertiggestellt" msgid "Build order output rejected" msgstr "Endprodukt abgelehnt" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" @@ -881,7 +886,7 @@ msgstr "Rückerstattung" msgid "Reject" msgstr "Ablehnen" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Unbekannte Datenbank" @@ -933,58 +938,58 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Optional" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Verfügbar" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Bauauftrag" msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referenz" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Teil" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Externer Link" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Priorität dieses Bauauftrags" msgid "Project Code" msgstr "Projektcode" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, 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:1286 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Objekt bauen" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Zugewiesener Bestand" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "In Produktion" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Bauauftrag war fällig am %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Überfällig" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Fertiggestellte Endprodukte" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Auftrag" @@ -1864,21 +1874,21 @@ msgid "Issued By" msgstr "Aufgegeben von" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Priorität" #: build/templates/build/build_base.html:273 msgid "Delete Build Order" -msgstr "" +msgstr "Bauauftrag löschen" #: build/templates/build/build_base.html:283 msgid "Build Order QR Code" -msgstr "" +msgstr "Bauftrags-QR-Code" #: build/templates/build/build_base.html:295 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Barcode mit Bauauftrag verknüpfen" #: build/templates/build/detail.html:15 msgid "Build Details" @@ -1892,8 +1902,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Ziel-Lager" @@ -1907,11 +1917,11 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Losnummer" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Erstellt" @@ -1931,7 +1941,7 @@ msgstr "Kein Ziel-Datum gesetzt" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Fertig" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Teile bestellen" @@ -2022,11 +2032,11 @@ msgstr "Bauauftrags-Notizen" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "" +msgstr "Zuordnung abgeschlossen" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Alle Zeilen wurden vollständig zugewiesen" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" @@ -2088,7 +2098,7 @@ msgstr "Zeitstempel der letzten Aktualisierung" #: common/models.py:105 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "Seiten-URL ist durch die Konfiguration gesperrt" #: common/models.py:130 msgid "Unique project code" @@ -2143,1468 +2153,1477 @@ msgstr "Ungültiger Domainname: {domain}" msgid "No plugin" msgstr "Kein Plugin" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Ausstehende Migrationen" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Anzahl der ausstehenden Datenbankmigrationen" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Firmenname" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "Tage" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Währungs-Aktualisierungs-Plugin" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Strenge URL-Prüfung" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1419 +#: common/models.py:1431 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:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1425 +#: common/models.py:1437 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:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Vorlage" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponente" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1518 +#: common/models.py:1530 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:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1678 +#: common/models.py:1690 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:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1729 +#: common/models.py:1741 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:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1743 +#: common/models.py:1755 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:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1759 +#: common/models.py:1771 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:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Verkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1781 +#: common/models.py:1793 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:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1797 +#: common/models.py:1809 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:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1845 +#: common/models.py:1857 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:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" -msgstr "" +msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" -msgstr "" +msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:1944 +#: common/models.py:1956 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:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:1960 +#: common/models.py:1972 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:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "Blockieren bis Test bestanden" + +#: common/models.py:1987 +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:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2333 +#: common/models.py:2353 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:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Standardvorlage für Teilebeschriftung" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Lagerartikel-Standardvorlage" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Standardetikettenvorlage für Lagerstandort" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" -msgstr "" +msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" -msgstr "" +msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Preis" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktiv" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Host" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Body" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "ID" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Gelesen" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Einheitsdefinition" @@ -3774,273 +3793,273 @@ msgstr "Teile importiert" msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Website" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Firma auswählen" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Adresstitel" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Titel zur Beschreibung des Adresseintrages" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Primäre Adresse" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Als primäre Adresse festlegen" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linie 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Adresszeile 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linie 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Adresszeile 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postleitzahl" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Stadt/Region" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Postleitzahl Stadt/Region" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Staat/Provinz" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Bundesland" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Adresse Land" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Versandnotizen" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Notizen für Versandkurier" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Interne Versandnotizen" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Versandnotizen für interne Verwendung" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Wert" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Einheiten" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "Packeinheiten müssen größer als Null sein" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Notiz" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:854 +#: company/models.py:859 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:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "Vielfache" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" @@ -4196,17 +4215,17 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Kunde" @@ -4214,7 +4233,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4228,11 +4247,11 @@ msgstr "Telefon" #: company/templates/company/company_base.html:205 #: part/templates/part/part_base.html:528 msgid "Remove Image" -msgstr "" +msgstr "Bild entfernen" #: company/templates/company/company_base.html:206 msgid "Remove associated image from this company" -msgstr "" +msgstr "Verknüpftes Bild von dieser Firma entfernen" #: company/templates/company/company_base.html:208 #: part/templates/part/part_base.html:531 @@ -4244,12 +4263,12 @@ msgstr "Entfernen" #: company/templates/company/company_base.html:237 #: part/templates/part/part_base.html:560 msgid "Upload Image" -msgstr "" +msgstr "Bild hochladen" #: company/templates/company/company_base.html:252 #: part/templates/part/part_base.html:614 msgid "Download Image" -msgstr "" +msgstr "Bild herunterladen" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 @@ -4432,7 +4451,7 @@ msgstr "Neuer Parameter" #: company/templates/company/manufacturer_part.html:206 #: templates/js/translated/part.js:1422 msgid "Add Parameter" -msgstr "" +msgstr "Parameter hinzufügen" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Adressen" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Keine Lieferanteninformationen verfügbar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "Lieferanten-Teilenummer" @@ -4548,25 +4567,25 @@ msgstr "Preisstaffel hinzufügen" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "" +msgstr "Zulieferteil QR-Code" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Barcode mit Zulieferteil verknüpfen" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "" +msgstr "Verfügbarkeit der Teile aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Lagerartikel" @@ -4602,7 +4621,7 @@ msgstr "Neue Firma" #: label/api.py:247 msgid "Error printing label" -msgstr "" +msgstr "Fehler beim Drucken des Labels" #: label/models.py:115 msgid "Label name" @@ -4620,7 +4639,9 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktiviert" @@ -4676,121 +4697,121 @@ msgstr "QR-Code" msgid "QR code" msgstr "QR-Code" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" -msgstr "" +msgstr "Kopien" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" -msgstr "" +msgstr "Anzahl der zu druckenden Kopien für jedes Label" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" -msgstr "" +msgstr "Verbunden" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Unbekannt" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" -msgstr "" +msgstr "Drucken" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" -msgstr "" +msgstr "Keine Medien" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" -msgstr "" +msgstr "Verbindung getrennt" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" -msgstr "" +msgstr "Etikettendrucker" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." -msgstr "" +msgstr "Drucken Sie Etiketten direkt für verschiedene Artikel." -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" -msgstr "" +msgstr "Druckerstandort" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" -msgstr "" +msgstr "Den Drucker an einen bestimmten Ort aufstellen" #: machine/models.py:25 msgid "Name of machine" -msgstr "" +msgstr "Name des Geräts" #: machine/models.py:29 msgid "Machine Type" -msgstr "" +msgstr "Gerätetyp" #: machine/models.py:29 msgid "Type of machine" -msgstr "" +msgstr "Typ der Maschine" #: machine/models.py:34 machine/models.py:146 msgid "Driver" -msgstr "" +msgstr "Treiber" #: machine/models.py:35 msgid "Driver used for the machine" -msgstr "" +msgstr "Verwendeter Treiber für die Maschine" #: machine/models.py:39 msgid "Machines can be disabled" -msgstr "" +msgstr "Maschinen können deaktiviert werden" #: machine/models.py:95 msgid "Driver available" -msgstr "" +msgstr "Treiber verfügbar" #: machine/models.py:100 msgid "No errors" -msgstr "" +msgstr "Keine Fehler" #: machine/models.py:105 msgid "Initialized" -msgstr "" +msgstr "Initialisiert" #: machine/models.py:110 msgid "Errors" -msgstr "" +msgstr "Fehler" #: machine/models.py:117 msgid "Machine status" -msgstr "" +msgstr "Status der Maschine" #: machine/models.py:145 msgid "Machine" -msgstr "" +msgstr "Maschine" #: machine/models.py:151 msgid "Machine Config" -msgstr "" +msgstr "Maschinenkonfiguration" #: machine/models.py:156 msgid "Config type" -msgstr "" +msgstr "Konfigurationstyp" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Keine passende Bestellung gefunden" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "Empfangen von" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "Versand von" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Positionsbeschreibung (optional)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Kontext" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Bestellung" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Empfangen" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1417 +#: order/models.py:1422 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:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Position" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Position" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2167 +#: order/models.py:2185 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:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" @@ -5190,139 +5211,155 @@ msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "Automatische Preisgestaltung" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "Elemente zusammenfügen" + +#: order/serializers.py:449 +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:467 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Position" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:1633 +#: order/serializers.py:1655 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:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5451,11 +5488,11 @@ msgstr "Gesamtkosten konnten nicht berechnet werden" #: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" -msgstr "" +msgstr "Bestellung QR-Code" #: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" -msgstr "" +msgstr "Barcode mit Bestellung verknüpfen" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 @@ -5507,9 +5544,9 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Kundenreferenz" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5644,11 +5681,11 @@ msgstr "Gesamtkosten" #: order/templates/order/return_order_base.html:263 msgid "Return Order QR Code" -msgstr "" +msgstr "QR-Code Bestellung zurückgeben" #: order/templates/order/return_order_base.html:275 msgid "Link Barcode to Return Order" -msgstr "" +msgstr "Barcode mit Rücksendung verknüpfen" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" @@ -5680,11 +5717,11 @@ msgstr "Abgeschlossene Sendungen" #: order/templates/order/sales_order_base.html:312 msgid "Sales Order QR Code" -msgstr "" +msgstr "Verkaufsauftrag QR-Code" #: order/templates/order/sales_order_base.html:324 msgid "Link Barcode to Sales Order" -msgstr "" +msgstr "Barcode mit Verkaufsauftrag verknüpfen" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" @@ -5726,12 +5763,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Name des Teils" @@ -5740,20 +5777,20 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5778,11 +5815,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5801,21 +5838,21 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Eltern ID" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Name des übergeordneten Teils" @@ -5824,9 +5861,10 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Pfad zur Kategorie" msgid "Parts" msgstr "Teile" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Stücklistenebene" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "Stücklisten-Position ID" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "Markiert" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "Nach markierten Kategorien filtern" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "Ebenen" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "Filter nach Kategorietiefe" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "Mehrstufig" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" + +#: part/api.py:177 +msgid "Parent" +msgstr "Übergeordnetes" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "Nach übergeordneter Kategorie filtern" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "Baum ausschließen" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" + +#: part/api.py:455 +msgid "Has Results" +msgstr "Ergebnisse" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Gültig" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategorie" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5904,7 +5995,7 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5919,7 +6010,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Standard Stichwörter" msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Symbol" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:145 +#: part/models.py:147 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:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Teil '{self}' kann im BOM nicht für '{parent}' (rekursiv) verwendet werden" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Teil '{parent}' wird im BOM für '{self}' (rekursiv) verwendet" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategorie" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Datum" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Bericht" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3418 +#: part/models.py:3438 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:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "Testschlüssel" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "Vereinfachter Schlüssel zum Test" + +#: part/models.py:3479 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "Ist dieser Test aktiviert?" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3477 +#: part/models.py:3496 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:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3484 +#: part/models.py:3503 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:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Wert" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Stufe" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3994 +#: part/models.py:4013 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:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 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:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4365 +#: part/models.py:4384 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:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "Ergebnisse" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "Anzahl der Teile, die diese Vorlage verwenden" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:432 +#: part/serializers.py:462 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:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1038 +#: part/serializers.py:1068 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:1048 +#: part/serializers.py:1078 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:1058 +#: part/serializers.py:1088 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:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, 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:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -6965,11 +7077,6 @@ msgstr "Kategorie löschen" msgid "Top level part category" msgstr "Oberste Teil-Kategorie" -#: 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/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Teile (inklusive Unter-Kategorien)" @@ -7040,7 +7147,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Inventur" @@ -7140,15 +7247,15 @@ msgstr "Teil-Hersteller" #: part/templates/part/detail.html:659 msgid "Related Part" -msgstr "" +msgstr "Verknüpftes Teil" #: part/templates/part/detail.html:667 msgid "Add Related Part" -msgstr "" +msgstr "Verknüpftes Teil hinzufügen" #: part/templates/part/detail.html:752 msgid "Add Test Result Template" -msgstr "" +msgstr "Testergebnis-Vorlage hinzufügen" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 @@ -7274,7 +7381,7 @@ msgstr "Teil ist nicht aktiv" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktiv" @@ -7324,27 +7431,27 @@ msgstr "Nach Seriennummer suchen" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "" +msgstr "QR-Code Teil" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "" +msgstr "Barcode mit Teil verknüpfen" #: part/templates/part/part_base.html:512 msgid "Calculate" -msgstr "" +msgstr "Berechnen" #: part/templates/part/part_base.html:529 msgid "Remove associated image from this part" -msgstr "" +msgstr "Verknüpftes Bild von diesem Teil entfernen" #: part/templates/part/part_base.html:580 msgid "No matching images found" -msgstr "" +msgstr "Keine passenden Bilder gefunden" #: part/templates/part/part_base.html:676 msgid "Hide Part Details" -msgstr "" +msgstr "Teildetails ausblenden" #: 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 @@ -7402,7 +7509,7 @@ msgstr "Varianten" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -7448,7 +7555,7 @@ msgstr "Bearbeiten" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -7517,7 +7624,7 @@ msgstr "Verkaufspreisstaffel hinzufügen" #: part/templates/part/pricing_javascript.html:24 msgid "Update Pricing" -msgstr "" +msgstr "Preise aktualisieren" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:704 #: templates/js/translated/part.js:2140 templates/js/translated/part.js:2142 @@ -7600,7 +7707,7 @@ msgstr "Teilbepreisung" #: plugin/api.py:168 msgid "Plugin cannot be deleted as it is currently active" -msgstr "" +msgstr "Das Plugin kann nicht gelöscht werden, da es derzeit aktiv ist" #: plugin/base/action/api.py:32 msgid "No action specified" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" @@ -7654,110 +7761,110 @@ msgstr "Mehrere passende Elemente gefunden" #: plugin/base/barcodes/api.py:470 msgid "No matching line item found" -msgstr "" +msgstr "Kein passendes Element gefunden" #: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 msgid "Barcode does not match an existing stock item" -msgstr "" +msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" #: plugin/base/barcodes/api.py:526 msgid "Stock item does not match line item" -msgstr "" +msgstr "Lagerartikel stimmt nicht mit dem Element überein" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" #: plugin/base/barcodes/api.py:559 msgid "Stock item allocated to sales order" -msgstr "" +msgstr "Lagerartikel der Bestellung zugeordnet" #: plugin/base/barcodes/api.py:563 msgid "Not enough information" -msgstr "" +msgstr "Nicht genügend Informationen" #: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 msgid "Found multiple matching supplier parts for barcode" -msgstr "" +msgstr "Mehrere passende Lieferantenteile für Barcode gefunden" #: plugin/base/barcodes/mixins.py:197 #, python-brace-format msgid "Found multiple purchase orders matching '{order}'" -msgstr "" +msgstr "Mehrere Einkaufsaufträge gefunden mit '{order}'" #: plugin/base/barcodes/mixins.py:201 #, python-brace-format msgid "No matching purchase order for '{order}'" -msgstr "" +msgstr "Keine passende Bestellung für '{order}'" #: plugin/base/barcodes/mixins.py:207 msgid "Purchase order does not match supplier" -msgstr "" +msgstr "Bestellung entspricht nicht dem Lieferanten" #: plugin/base/barcodes/mixins.py:441 msgid "Failed to find pending line item for supplier part" -msgstr "" +msgstr "Ausstehender Artikel für Lieferantenteil konnte nicht gefunden werden" #: plugin/base/barcodes/mixins.py:472 msgid "Further information required to receive line item" -msgstr "" +msgstr "Weitere Informationen zum Empfang des Zeilenelements erforderlich" #: plugin/base/barcodes/mixins.py:480 msgid "Received purchase order line item" -msgstr "" +msgstr "Erhaltene Bestellartikel" #: plugin/base/barcodes/serializers.py:21 msgid "Scanned barcode data" -msgstr "" +msgstr "Gescannte Barcode Daten" #: plugin/base/barcodes/serializers.py:81 msgid "Purchase Order to allocate items against" -msgstr "" +msgstr "Ordne Artikel Bestellung zu" #: plugin/base/barcodes/serializers.py:87 msgid "Purchase order is not pending" -msgstr "" +msgstr "Bestellung ist nicht ausstehend" #: plugin/base/barcodes/serializers.py:105 msgid "PurchaseOrder to receive items against" -msgstr "" +msgstr "Ordne erhaltene Artikel Bestellung zu" #: plugin/base/barcodes/serializers.py:111 msgid "Purchase order has not been placed" -msgstr "" +msgstr "Bestellung wurde nicht aufgegeben" #: plugin/base/barcodes/serializers.py:119 msgid "Location to receive items into" -msgstr "" +msgstr "Ort für den Empfang von Artikeln" #: plugin/base/barcodes/serializers.py:125 msgid "Cannot select a structural location" -msgstr "" +msgstr "Kann keinen strukturellen Standort auswählen" #: plugin/base/barcodes/serializers.py:139 msgid "Sales Order to allocate items against" -msgstr "" +msgstr "Kundenauftrag zum Zuordnen von Artikeln zu" #: plugin/base/barcodes/serializers.py:145 msgid "Sales order is not pending" -msgstr "" +msgstr "Bestellung ist nicht ausstehend" #: plugin/base/barcodes/serializers.py:153 msgid "Sales order line item to allocate items against" -msgstr "" +msgstr "Artikel der Verkaufsbestellung zuweisen" #: plugin/base/barcodes/serializers.py:160 msgid "Sales order shipment to allocate items against" -msgstr "" +msgstr "Sendung des Verkaufsauftrags zur Zuweisung von Artikeln gegen" #: plugin/base/barcodes/serializers.py:166 msgid "Shipment has already been delivered" -msgstr "" +msgstr "Sendung wurde bereits geliefert" #: plugin/base/barcodes/serializers.py:171 msgid "Quantity to allocate" -msgstr "" +msgstr "Zugewiesene Menge" #: plugin/base/label/label.py:39 msgid "Label printing failed" @@ -7765,15 +7872,15 @@ msgstr "Labeldruck fehlgeschlagen" #: plugin/base/label/mixins.py:63 msgid "Error rendering label to PDF" -msgstr "" +msgstr "Fehler beim Rendern des Labels als PDF" #: plugin/base/label/mixins.py:76 msgid "Error rendering label to HTML" -msgstr "" +msgstr "Fehler beim Rendern des Labels als HTML" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" -msgstr "" +msgstr "Fehler beim Rendern des Labels als PNG" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" @@ -7800,7 +7907,7 @@ msgstr "InvenTree Benachrichtigungen" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Integrierte ausgehende Benachrichtigungsmethoden" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 @@ -7834,11 +7941,11 @@ msgstr "Link öffnen" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" -msgstr "" +msgstr "InvenTree Währungsumstellung" #: plugin/builtin/integration/currency_exchange.py:23 msgid "Default currency exchange integration" -msgstr "" +msgstr "Standard-Wechselkursintegration" #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" @@ -7846,7 +7953,7 @@ msgstr "InvenTree PDF-Etikettendrucker" #: plugin/builtin/labels/inventree_label.py:21 msgid "Provides native support for printing PDF labels" -msgstr "" +msgstr "Bietet native Unterstützung für das Drucken von PDF-Etiketten" #: plugin/builtin/labels/inventree_label.py:29 msgid "Debug mode" @@ -7854,23 +7961,23 @@ msgstr "Debug-Modus" #: plugin/builtin/labels/inventree_label.py:30 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "" +msgstr "Debug-Modus aktivieren - gibt Roh-HTML statt PDF zurück" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" -msgstr "" +msgstr "InvenTree Maschinen-Etikettendrucker" #: plugin/builtin/labels/inventree_machine.py:62 msgid "Provides support for printing using a machine" -msgstr "" +msgstr "Unterstützt das Drucken mit einer Maschine" #: plugin/builtin/labels/inventree_machine.py:150 msgid "last used" -msgstr "" +msgstr "Zuletzt benutzt" #: plugin/builtin/labels/inventree_machine.py:167 msgid "Options" -msgstr "" +msgstr "Optionen" #: plugin/builtin/labels/label_sheet.py:29 msgid "Page size for the label sheet" @@ -7878,15 +7985,15 @@ msgstr "Seitengröße für das Labelblatt" #: plugin/builtin/labels/label_sheet.py:34 msgid "Skip Labels" -msgstr "" +msgstr "Etiketten überspringen" #: plugin/builtin/labels/label_sheet.py:35 msgid "Skip this number of labels when printing label sheets" -msgstr "" +msgstr "Diese Anzahl der Etiketten beim Drucken von Etiketten überspringen" #: plugin/builtin/labels/label_sheet.py:41 msgid "Border" -msgstr "" +msgstr "Rand" #: plugin/builtin/labels/label_sheet.py:42 msgid "Print a border around each label" @@ -7906,7 +8013,7 @@ msgstr "InvenTree Etikettendrucker" #: plugin/builtin/labels/label_sheet.py:61 msgid "Arrays multiple labels onto a single sheet" -msgstr "" +msgstr "Anordnen mehrerer Etiketten auf einem einzigen Blatt" #: plugin/builtin/labels/label_sheet.py:94 msgid "Label is too large for page size" @@ -7918,7 +8025,7 @@ msgstr "Es wurden keine Etiketten generiert" #: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" -msgstr "" +msgstr "Lieferantenintegration - DigiKey" #: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" @@ -7926,11 +8033,11 @@ msgstr "Unterstützt das Scannen von DigiKey-Barcodes" #: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" -msgstr "" +msgstr "Der Lieferant, der als 'DigiKey' fungiert" #: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" -msgstr "" +msgstr "Lieferantenintegration - LCSC" #: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" @@ -7938,7 +8045,7 @@ msgstr "Unterstützt das Scannen von LCSC-Barcodes" #: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" -msgstr "" +msgstr "Der Lieferant, der als \"LCSC\" fungiert" #: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" @@ -7950,7 +8057,7 @@ msgstr "Unterstützt das Scannen von Mouser-Barcodes" #: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" -msgstr "" +msgstr "Der Lieferant, der als 'Mouser' fungiert" #: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" @@ -7962,40 +8069,48 @@ msgstr "Unterstützt das Scannen von TME-Barcodes" #: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" -msgstr "" +msgstr "Der Lieferant, der als 'TME' fungiert" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" +msgstr "Nur Mitarbeiter können Plugins verwalten" + +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:248 msgid "Installed plugin successfully" -msgstr "" +msgstr "Plugin wurde erfolgreich installiert" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" -msgstr "" +msgstr "Plugin installiert in {path}" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" -msgstr "" +msgstr "Plugin wurde nicht in der Registry gefunden" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" -msgstr "" +msgstr "Plugin ist kein gepacktes Plugin" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" +msgstr "Plugin-Paketname nicht gefunden" + +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" -msgstr "" +msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" -msgstr "" +msgstr "Plugin erfolgreich deinstallieren" #: plugin/models.py:30 msgid "Plugin Configuration" @@ -8023,14 +8138,14 @@ msgstr "Paket-Name" #: plugin/models.py:51 msgid "Name of the installed package, if the plugin was installed via PIP" -msgstr "" +msgstr "Name des installierten Paketes, wenn das Plugin über PIP installiert wurde" #: plugin/models.py:56 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installiert" @@ -8044,7 +8159,7 @@ msgstr "Integriertes Plugin" #: plugin/models.py:173 msgid "Package Plugin" -msgstr "" +msgstr "Paket-Plugin" #: plugin/models.py:197 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 @@ -8055,24 +8170,24 @@ msgstr "Plugin" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "" +msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "" +msgstr "Plugin benötigt mindestens Version {v}" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "" +msgstr "Plugin benötigt maximal Version {v}" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" @@ -8108,7 +8223,7 @@ msgstr "Eine Einstellung mit mehreren Optionen" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" -msgstr "" +msgstr "Beispiel-Währungswechsel-Plugin" #: plugin/samples/integration/sample_currency_exchange.py:18 msgid "InvenTree Contributors" @@ -8134,7 +8249,7 @@ msgstr "Version" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." -msgstr "" +msgstr "Versionsangabe für das Plugin. Leer lassen für die neueste Version." #: plugin/serializers.py:106 msgid "Confirm plugin installation" @@ -8154,11 +8269,11 @@ msgstr "Entweder Paketname oder URL muss angegeben werden" #: plugin/serializers.py:156 msgid "Full reload" -msgstr "" +msgstr "Komplett neu laden" #: plugin/serializers.py:157 msgid "Perform a full reload of the plugin registry" -msgstr "" +msgstr "Führe ein vollständiges Nachladen der Plugin-Registrierung durch" #: plugin/serializers.py:163 msgid "Force reload" @@ -8170,11 +8285,11 @@ msgstr "Erzwinge ein erneutes Laden der Plugin-Registrierung, auch wenn sie bere #: plugin/serializers.py:172 msgid "Collect plugins" -msgstr "" +msgstr "Plugins sammeln" #: plugin/serializers.py:173 msgid "Collect plugins and add them to the registry" -msgstr "" +msgstr "Plugins sammeln und zur Registrierung hinzufügen" #: plugin/serializers.py:195 msgid "Activate Plugin" @@ -8186,11 +8301,11 @@ msgstr "Dieses Plugin aktivieren" #: plugin/serializers.py:219 msgid "Delete configuration" -msgstr "" +msgstr "Konfiguration löschen" #: plugin/serializers.py:220 msgid "Delete the plugin configuration from the database" -msgstr "" +msgstr "Plugin-Konfiguration aus der Datenbank löschen" #: report/api.py:175 msgid "No valid objects provided to template" @@ -8243,7 +8358,7 @@ msgstr "Seitengröße für PDF-Berichte" #: report/models.py:208 msgid "Render report in landscape orientation" -msgstr "" +msgstr "Bericht in Querformat anzeigen" #: report/models.py:316 msgid "Pattern for generating report filenames" @@ -8291,7 +8406,7 @@ msgstr "Auftrags-Abfragefilter" #: report/models.py:567 msgid "Return order query filters" -msgstr "" +msgstr "Rückgabe von Auftragsabfragefiltern" #: report/models.py:615 msgid "Snippet" @@ -8319,7 +8434,7 @@ msgstr "Ressource-Beschreibung" #: report/models.py:690 msgid "stock location query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "Filter für standortbezogene Abfragen (kommaseparierte Liste von Schlüssel=Wert-Paaren)" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" @@ -8338,7 +8453,7 @@ msgstr "Lieferant gelöscht" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Stück-Preis" @@ -8351,17 +8466,17 @@ msgstr "Zusätzliche Positionen" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Summe" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8373,7 +8488,7 @@ msgstr "Seriennummer" #: report/templates/report/inventree_slr_report.html:97 msgid "Stock location items" -msgstr "" +msgstr "Lagerstandort Elemente" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Ergebnis" @@ -8403,7 +8518,7 @@ msgstr "fehlgeschlagen" #: report/templates/report/inventree_test_report_base.html:139 msgid "No result (required)" -msgstr "" +msgstr "Kein Ergebnis (erforderlich)" #: report/templates/report/inventree_test_report_base.html:141 msgid "No result" @@ -8416,25 +8531,25 @@ msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Seriennummer" #: report/templatetags/report.py:96 msgid "Asset file does not exist" -msgstr "" +msgstr "Die Bestandsdatei ist nicht vorhanden" #: report/templatetags/report.py:152 report/templatetags/report.py:217 msgid "Image file not found" -msgstr "" +msgstr "Bilddatei nicht gefunden" #: report/templatetags/report.py:242 msgid "part_image tag requires a Part instance" -msgstr "" +msgstr "part_image tag benötigt eine Bauteilinstanz" #: report/templatetags/report.py:283 msgid "company_image tag requires a Company instance" -msgstr "" +msgstr "company_image tag erfordert eine Firmeninstanz" #: stock/admin.py:52 stock/admin.py:172 msgid "Location ID" @@ -8473,7 +8588,7 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "verbaut in" @@ -8498,493 +8613,523 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "Filtern nach Standorttiefe" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "Übergeordneter Ort" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "Filtern nach übergeordnetem Ort" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" -msgstr "" +msgstr "Teilbaum" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" -msgstr "" +msgstr "Gültigkeitsdauer vor" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" -msgstr "" +msgstr "Gültigkeitsdauer nach" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "überfällig" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "Das Zulieferteil hat eine Packungsgröße definiert, aber das Kennzeichen use_pack_size ist nicht gesetzt" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" -msgstr "" +msgstr "Lagerstandort Typ" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" -msgstr "" +msgstr "Lagerstandorte Typen" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" -msgstr "" +msgstr "Standardsymbol für alle Orte, die kein Icon gesetzt haben (optional)" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Extern" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Dies ist ein externer Lagerort" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" -msgstr "" +msgstr "Standorttyp" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" -msgstr "" +msgstr "Standortart dieses Standortes" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" -msgstr "" +msgstr "Artikeltyp ('{self.supplier_part.part}') muss {self.part} sein" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "" +msgstr "Verbraucht von" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" -msgstr "" +msgstr "Bauauftrag der diesen Lagerartikel verbrauchte" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" -msgstr "" +msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "Testvorlage existiert nicht" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1807 +#: stock/models.py:1873 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:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Name des Tests" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "Testvorlage für dieses Ergebnis" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "Vorlagen-ID oder Testname muss angegeben werden" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "" +msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, 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:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" -msgstr "" +msgstr "Zu installierende Menge" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:611 +#: stock/serializers.py:663 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:624 +#: stock/serializers.py:676 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:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" -msgstr "" +msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" -msgstr "" +msgstr "Keine Lagerartikel ausgewählt" + +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Unter-Lagerorte" -#: stock/serializers.py:977 +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" -msgstr "" +msgstr "Keine Änderung" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9009,7 +9154,7 @@ msgstr "Testdaten" msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Testdaten löschen" @@ -9025,17 +9170,17 @@ msgstr "Lagerartikel-Notizen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" -msgstr "" +msgstr "Testergebnis hinzufügen" #: stock/templates/stock/item_base.html:33 msgid "Locate stock item" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Bestand zählen" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Bestand hinzufügen" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Bestand entfernen" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Bestand verschieben" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Kunden zuweisen" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Lagerartikel löschen" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Verfügbare Menge" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -9219,21 +9364,21 @@ msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" -msgstr "" +msgstr "Lagerartikel" #: stock/templates/stock/item_base.html:532 msgid "Edit Stock Status" -msgstr "" +msgstr "Lagerstatus bearbeiten" #: stock/templates/stock/item_base.html:541 msgid "Stock Item QR Code" -msgstr "" +msgstr "Lagerartikel QR-Code" #: stock/templates/stock/item_base.html:552 msgid "Link Barcode to Stock Item" -msgstr "" +msgstr "Barcode mit Lagerartikel verknüpfen" #: stock/templates/stock/item_base.html:616 msgid "Select one of the part variants listed below." @@ -9249,11 +9394,11 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden" #: stock/templates/stock/item_base.html:628 msgid "Convert Stock Item" -msgstr "" +msgstr "Lagerartikel umwandeln" #: stock/templates/stock/item_base.html:662 msgid "Return to Stock" -msgstr "" +msgstr "Zurück ins Lager" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." @@ -9289,7 +9434,7 @@ msgstr "Lagerort scannen" #: stock/templates/stock/location.html:75 msgid "Print Location Report" -msgstr "" +msgstr "Standortbericht drucken" #: stock/templates/stock/location.html:104 msgid "Location actions" @@ -9315,12 +9460,6 @@ msgstr "Standortbesitzer" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Sie sind nicht auf der Liste der Besitzer dieses Lagerorts. Der Bestands-Lagerort kann nicht verändert werden." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Unter-Lagerorte" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" @@ -9329,20 +9468,20 @@ msgstr "Neuen Lagerort anlegen" msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" -msgstr "" +msgstr "Lagerort" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" -msgstr "" +msgstr "Lagerort QR-Code" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9418,15 +9557,15 @@ msgstr "Index" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "" +msgstr "Abonnierte Teile" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "" +msgstr "Abonnierte Kategorien" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "" +msgstr "Neueste Teile" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" @@ -9434,7 +9573,7 @@ msgstr "" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "" +msgstr "Kürzlich aktualisiert" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" @@ -9442,11 +9581,11 @@ msgstr "" #: templates/InvenTree/index.html:148 msgid "Required for Build Orders" -msgstr "" +msgstr "Für Bauaufträge benötigt" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "" +msgstr "Abgelaufener Bestand" #: templates/InvenTree/index.html:172 msgid "Stale Stock" @@ -9454,35 +9593,35 @@ msgstr "" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "" +msgstr "Bauaufträge in Arbeit" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "" +msgstr "Überfällige Bauaufträge" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Ausstehende Bestellungen" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Überfällige Bestellungen" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Ausstehende Aufträge" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Überfällige Aufträge" #: templates/InvenTree/index.html:299 msgid "InvenTree News" -msgstr "" +msgstr "InvenTree Neuigkeiten" #: templates/InvenTree/index.html:301 msgid "Current News" -msgstr "" +msgstr "Aktuelle Neuigkeiten" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" @@ -9512,11 +9651,11 @@ msgstr "Benachrichtigungen" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" -msgstr "" +msgstr "Keine neuen Benachrichtigungen gefunden" #: templates/InvenTree/notifications/notifications.html:58 msgid "No notification history found" -msgstr "" +msgstr "Keinen Benachrichtigungsverlauf gefunden" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" @@ -9525,7 +9664,7 @@ msgstr "Lösche alle gelesenen Benachrichtigungen" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 msgid "Delete Notification" -msgstr "" +msgstr "Benachrichtigung löschen" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" @@ -9650,36 +9789,36 @@ msgstr "Plugin-Einstellungen" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Plugins" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin installieren" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "" +msgstr "Plugins neu laden" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Plugin-Fehlerstapel" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Stufe" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Meldung" @@ -9722,7 +9861,7 @@ msgstr "Installationspfad" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Integriert" @@ -9732,7 +9871,7 @@ msgstr "Dies ist ein integriertes Plugin, das nicht deaktiviert werden kann" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Beispiel" @@ -9785,17 +9924,17 @@ msgstr "Nie" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "" +msgstr "Projektnummern Einstellungen" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "" +msgstr "Projektnummern" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "" +msgstr "Neue Projektnummern" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 @@ -9804,7 +9943,7 @@ msgstr "Berichts-Einstellungen" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" -msgstr "" +msgstr "Retourenbestellung Einstellungen" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" @@ -9816,26 +9955,26 @@ msgstr "Einstellungen ändern" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "" +msgstr "Plugin Einstellungen bearbeiten" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "" +msgstr "Benachrichtigungseinstellungen bearbeiten" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "" +msgstr "Allgemeine Einstellungen bearbeiten" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "" +msgstr "Benutzereinstellungen bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "" +msgstr "Bewerten" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9843,90 +9982,90 @@ msgstr "Löschen" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:110 msgid "Delete Custom Unit" -msgstr "" +msgstr "Benutzerdefinierte Einheit löschen" #: templates/InvenTree/settings/settings_staff_js.html:124 msgid "New Custom Unit" -msgstr "" +msgstr "Neue benutzerdefinierte Einheit" #: templates/InvenTree/settings/settings_staff_js.html:140 msgid "No project codes found" -msgstr "" +msgstr "Keine Projektcodes gefunden" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" -msgstr "" +msgstr "gruppieren" #: templates/InvenTree/settings/settings_staff_js.html:175 #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "Edit Project Code" -msgstr "" +msgstr "Projektcode bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:176 #: templates/InvenTree/settings/settings_staff_js.html:203 msgid "Delete Project Code" -msgstr "" +msgstr "Projektcode löschen" #: templates/InvenTree/settings/settings_staff_js.html:285 msgid "No category parameter templates found" -msgstr "" +msgstr "Keine Kategorieparameter Vorlage gefunden" #: templates/InvenTree/settings/settings_staff_js.html:308 #: templates/js/translated/part.js:1645 msgid "Edit Template" -msgstr "" +msgstr "Vorlage bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:309 #: templates/js/translated/part.js:1646 msgid "Delete Template" -msgstr "" +msgstr "Vorlage löschen" #: templates/InvenTree/settings/settings_staff_js.html:326 msgid "Edit Category Parameter Template" -msgstr "" +msgstr "Kategorieparameter Vorlage bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:353 msgid "Delete Category Parameter Template" -msgstr "" +msgstr "Kategorieparameter Vorlage löschen" #: templates/InvenTree/settings/settings_staff_js.html:388 msgid "Create Category Parameter Template" -msgstr "" +msgstr "Kategorieparameter Vorlage erstellen" #: templates/InvenTree/settings/settings_staff_js.html:418 msgid "Create Part Parameter Template" -msgstr "" +msgstr "Teilparametervorlage erstellen" #: templates/InvenTree/settings/settings_staff_js.html:440 msgid "No stock location types found" -msgstr "" +msgstr "Keine Lagerstandorttypen gefunden" #: templates/InvenTree/settings/settings_staff_js.html:461 msgid "Location count" -msgstr "" +msgstr "Anzahl der Standorte" #: templates/InvenTree/settings/settings_staff_js.html:466 #: templates/InvenTree/settings/settings_staff_js.html:480 msgid "Edit Location Type" -msgstr "" +msgstr "Standorttyp bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:467 msgid "Delete Location type" -msgstr "" +msgstr "Standorttyp löschen" #: templates/InvenTree/settings/settings_staff_js.html:490 msgid "Delete Location Type" -msgstr "" +msgstr "Standorttyp löschen" #: templates/InvenTree/settings/settings_staff_js.html:500 #: templates/InvenTree/settings/stock.html:35 msgid "New Location Type" -msgstr "" +msgstr "Neuer Standorttyp" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -9983,7 +10122,7 @@ msgstr "Bestands-Einstellungen" #: templates/InvenTree/settings/stock.html:31 msgid "Stock Location Types" -msgstr "" +msgstr "Lagerstandort Elemente" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" @@ -10124,7 +10263,7 @@ msgstr "%(time)s vor" #: templates/InvenTree/settings/user.html:218 msgid "Do you really want to remove the selected email address?" -msgstr "" +msgstr "Möchten Sie die ausgewählte E-Mail-Adresse wirklich entfernen?" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" @@ -10169,7 +10308,7 @@ msgstr "Einige Sprachen sind nicht vollständig übersetzt" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" -msgstr "" +msgstr "Nur vollständige anzeigen" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." @@ -10201,7 +10340,7 @@ msgstr "Sucheinstellungen" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Single Sign On Accounts" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" @@ -10282,7 +10421,7 @@ msgstr "Versionsinformationen kopieren" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "" +msgstr "InvenTree Logo" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 @@ -10294,7 +10433,7 @@ msgstr "E-Mail-Adresse bestätigen" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Bestätigen" @@ -10492,7 +10631,7 @@ msgstr "Ausstehende Datenbankmigrationen" #: templates/base.html:116 msgid "There are pending database migrations which require attention" -msgstr "" +msgstr "Es gibt ausstehende Datenbankmigrationen, die Ihre Aufmerksamkeit erfordern" #: templates/email/build_order_completed.html:9 #: templates/email/canceled_order_assigned.html:9 @@ -10523,7 +10662,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -10537,17 +10676,17 @@ 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:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Mindestmenge" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" -msgstr "" +msgstr "Keine Antwort" #: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" -msgstr "" +msgstr "Keine Antwort vom InvenTree Server" #: templates/js/translated/api.js:232 msgid "Error 400: Bad request" @@ -10615,63 +10754,63 @@ msgstr "" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "" +msgstr "Alle ausgewählten Anhänge werden gelöscht" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "" +msgstr "Anhang löschen" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "" +msgstr "Anhänge löschen" #: templates/js/translated/attachment.js:253 msgid "Attachment actions" -msgstr "" +msgstr "Anhang Aktionen" #: templates/js/translated/attachment.js:275 msgid "No attachments found" -msgstr "" +msgstr "Keine Anhänge gefunden" #: templates/js/translated/attachment.js:315 msgid "Edit Attachment" -msgstr "" +msgstr "Anhänge bearbeiten" #: templates/js/translated/attachment.js:346 msgid "Upload Date" -msgstr "" +msgstr "Datum hochgeladen" #: templates/js/translated/attachment.js:366 msgid "Edit attachment" -msgstr "" +msgstr "Anhang bearbeiten" #: templates/js/translated/attachment.js:374 msgid "Delete attachment" -msgstr "" +msgstr "Anhang löschen" #: templates/js/translated/barcode.js:43 msgid "Scan barcode data here using barcode scanner" -msgstr "" +msgstr "Barcode Daten hier mit Barcode Scanner scannen" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "" +msgstr "Barcode-Daten eingeben" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" -msgstr "" +msgstr "Barcode mit angeschlossener Webcam scannen" #: templates/js/translated/barcode.js:138 msgid "Enter optional notes for stock transfer" -msgstr "" +msgstr "Optionale Bemerkung zu Bestandsübertragung eingeben" #: templates/js/translated/barcode.js:139 msgid "Enter notes" -msgstr "" +msgstr "Eine Bemerkung anführen" #: templates/js/translated/barcode.js:188 msgid "Server error" -msgstr "" +msgstr "Serverfehler" #: templates/js/translated/barcode.js:217 msgid "Unknown response from server" @@ -10696,7 +10835,7 @@ msgstr "" #: templates/js/translated/barcode.js:498 msgid "This will remove the link to the associated barcode" -msgstr "" +msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt" #: templates/js/translated/barcode.js:504 msgid "Unlink" @@ -10775,14 +10914,14 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Schliessen" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "" +msgstr "Vorlage einer Stückliste herunterladen" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" @@ -10802,23 +10941,23 @@ msgstr "" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "" +msgstr "Alternative Teile einbeziehen" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "" +msgstr "Alternative Teile in exportierte Stückliste einbeziehen" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "" +msgstr "Parameter-Daten einschließen" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "" +msgstr "Teile-Parameter in Stücklisten-Export einschließen" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "" +msgstr "Bestand einschließen" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" @@ -10826,79 +10965,79 @@ msgstr "" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Herstellerdaten einschließen" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Teile-Herstellerdaten in Stückliste-Export einschließen" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "" +msgstr "Lieferantendaten einschließen" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "Teile-Bestand in Stückliste-Export einschließen" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "" +msgstr "Preisinformationen einschließen" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "" +msgstr "Preisinformationen in Stücklisten-Export einschließen" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "" +msgstr "Ersatzteil entfernen" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "" +msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie es mit den folgenden Eingaben hinzu" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "" +msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "" +msgstr "Ersatzteil entfernen" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "" +msgstr "Ersatzteil hinzufügen" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "" +msgstr "Stücklisten Ersatzteile bearbeiten" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "" +msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "" +msgstr "Ausgewählte Stücklistenpositionen löschen?" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "" +msgstr "Elemente löschen" #: templates/js/translated/bom.js:936 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Stückliste für Bauteile laden" #: templates/js/translated/bom.js:946 msgid "Substitutes Available" -msgstr "" +msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:1014 msgid "Substitutes" -msgstr "" +msgstr "Ersatzteile" #: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" @@ -10910,60 +11049,60 @@ msgstr "" #: templates/js/translated/bom.js:1151 msgid "No pricing available" -msgstr "" +msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" -msgstr "" +msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" -msgstr "" +msgstr "Verbrauchsartikel" #: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" -msgstr "" +msgstr "Stücklisten-Position kontrollieren" #: templates/js/translated/bom.js:1281 msgid "This line has been validated" -msgstr "" +msgstr "Diese Position wurde kontrolliert" #: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" -msgstr "" +msgstr "Ersatzteile bearbeiten" #: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" -msgstr "" +msgstr "Stücklisten-Position bearbeiten" #: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" -msgstr "" +msgstr "Stücklisten-Position löschen" #: templates/js/translated/bom.js:1307 msgid "View BOM" -msgstr "" +msgstr "Stückliste anzeigen" #: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,216 +11303,216 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "" +msgstr "Hersteller hinzufügen" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Herstellerteil hinzufügen" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Herstellerteil ändern" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "" +msgstr "Zulieferer hinzufügen" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" -msgstr "" +msgstr "Zuliefererteil hinzufügen" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "" +msgstr "Alle ausgewählten Zulieferteile werden gelöscht" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "" +msgstr "Zuliefererteil entfernen" #: templates/js/translated/company.js:465 msgid "Add new Company" -msgstr "" +msgstr "Neue Firma hinzufügen" #: templates/js/translated/company.js:536 msgid "Parts Supplied" -msgstr "" +msgstr "Teile geliefert" #: templates/js/translated/company.js:545 msgid "Parts Manufactured" @@ -11381,111 +11520,111 @@ msgstr "" #: templates/js/translated/company.js:560 msgid "No company information found" -msgstr "" +msgstr "Keine Firmeninformation gefunden" #: templates/js/translated/company.js:609 msgid "Create New Contact" -msgstr "" +msgstr "Neuen Kontakt erstellen" #: templates/js/translated/company.js:625 #: templates/js/translated/company.js:748 msgid "Edit Contact" -msgstr "" +msgstr "Kontakt bearbeiten" #: templates/js/translated/company.js:662 msgid "All selected contacts will be deleted" -msgstr "" +msgstr "Alle ausgewählten Kontakte werden gelöscht" #: templates/js/translated/company.js:668 #: templates/js/translated/company.js:732 msgid "Role" -msgstr "" +msgstr "Rolle" #: templates/js/translated/company.js:676 msgid "Delete Contacts" -msgstr "" +msgstr "Kontakte löschen" #: templates/js/translated/company.js:707 msgid "No contacts found" -msgstr "" +msgstr "Keine Kontakte gefunden" #: templates/js/translated/company.js:720 msgid "Phone Number" -msgstr "" +msgstr "Telefonnummer" #: templates/js/translated/company.js:726 msgid "Email Address" -msgstr "" +msgstr "E-Mail-Adresse" #: templates/js/translated/company.js:752 msgid "Delete Contact" -msgstr "" +msgstr "Kontakt löschen" #: templates/js/translated/company.js:849 msgid "Create New Address" -msgstr "" +msgstr "Neue Adresse erstellen" #: templates/js/translated/company.js:864 #: templates/js/translated/company.js:1025 msgid "Edit Address" -msgstr "" +msgstr "Adresse bearbeiten" #: templates/js/translated/company.js:899 msgid "All selected addresses will be deleted" -msgstr "" +msgstr "Alle ausgewählten Adressen werden gelöscht" #: templates/js/translated/company.js:913 msgid "Delete Addresses" -msgstr "" +msgstr "Adressen löschen" #: templates/js/translated/company.js:940 msgid "No addresses found" -msgstr "" +msgstr "Keine Adressen gefunden" #: templates/js/translated/company.js:979 msgid "Postal city" -msgstr "" +msgstr "Postleitzahl" #: templates/js/translated/company.js:985 msgid "State/province" -msgstr "" +msgstr "Bundesland" #: templates/js/translated/company.js:997 msgid "Courier notes" -msgstr "" +msgstr "Kurierhinweise" #: templates/js/translated/company.js:1003 msgid "Internal notes" -msgstr "" +msgstr "Interne Hinweise" #: templates/js/translated/company.js:1029 msgid "Delete Address" -msgstr "" +msgstr "Adresse löschen" #: templates/js/translated/company.js:1102 msgid "All selected manufacturer parts will be deleted" -msgstr "" +msgstr "Alle ausgewählten Herstellerteile werden gelöscht" #: templates/js/translated/company.js:1117 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Herstellerteile löschen" #: templates/js/translated/company.js:1151 msgid "All selected parameters will be deleted" -msgstr "" +msgstr "Alle ausgewählten Parameter werden gelöscht" #: templates/js/translated/company.js:1165 msgid "Delete Parameters" -msgstr "" +msgstr "Parameter löschen" #: templates/js/translated/company.js:1181 #: templates/js/translated/company.js:1469 templates/js/translated/part.js:2244 msgid "Order parts" -msgstr "" +msgstr "Teile bestellen" #: templates/js/translated/company.js:1198 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Herstellerteile löschen" #: templates/js/translated/company.js:1230 msgid "Manufacturer part actions" @@ -11493,7 +11632,7 @@ msgstr "" #: templates/js/translated/company.js:1249 msgid "No manufacturer parts found" -msgstr "" +msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:1269 #: templates/js/translated/company.js:1557 templates/js/translated/part.js:798 @@ -11509,43 +11648,43 @@ msgstr "" #: templates/js/translated/company.js:1393 templates/js/translated/part.js:1464 msgid "No parameters found" -msgstr "" +msgstr "Keine Parameter gefunden" #: templates/js/translated/company.js:1428 templates/js/translated/part.js:1527 msgid "Edit parameter" -msgstr "" +msgstr "Parameter bearbeiten" #: templates/js/translated/company.js:1429 templates/js/translated/part.js:1528 msgid "Delete parameter" -msgstr "" +msgstr "Parameter löschen" #: templates/js/translated/company.js:1446 templates/js/translated/part.js:1433 msgid "Edit Parameter" -msgstr "" +msgstr "Parameter bearbeiten" #: templates/js/translated/company.js:1455 templates/js/translated/part.js:1549 msgid "Delete Parameter" -msgstr "" +msgstr "Parameter löschen" #: templates/js/translated/company.js:1486 msgid "Delete supplier parts" -msgstr "" +msgstr "Zulieferteile löschen" #: templates/js/translated/company.js:1536 msgid "No supplier parts found" -msgstr "" +msgstr "Keine Zulieferteile gefunden" #: templates/js/translated/company.js:1654 msgid "Base Units" -msgstr "" +msgstr "Basiseinheit" #: templates/js/translated/company.js:1684 msgid "Availability" -msgstr "" +msgstr "Verfügbarkeit" #: templates/js/translated/company.js:1715 msgid "Edit supplier part" -msgstr "" +msgstr "Zulieferteile bearbeiten" #: templates/js/translated/company.js:1716 msgid "Delete supplier part" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11743,12 +11882,12 @@ msgstr "" #: templates/js/translated/label.js:187 msgid "Labels sent to printer" -msgstr "" +msgstr "Etiketten an den Drucker senden" #: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:683 msgid "Cancel" -msgstr "" +msgstr "Abbrechen" #: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 #: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 @@ -11758,27 +11897,27 @@ msgstr "Abschicken" #: templates/js/translated/modals.js:156 msgid "Form Title" -msgstr "" +msgstr "Formulartitel" #: templates/js/translated/modals.js:445 msgid "Waiting for server..." -msgstr "" +msgstr "Warte auf Server..." #: templates/js/translated/modals.js:596 msgid "Show Error Information" -msgstr "" +msgstr "Fehler-Informationen anzeigen" #: templates/js/translated/modals.js:682 msgid "Accept" -msgstr "" +msgstr "Akzeptieren" #: templates/js/translated/modals.js:740 msgid "Loading Data" -msgstr "" +msgstr "Lade Daten" #: templates/js/translated/modals.js:1011 msgid "Invalid response from server" -msgstr "" +msgstr "Ungültige Antwort vom Server" #: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" @@ -11806,33 +11945,33 @@ msgstr "" #: templates/js/translated/news.js:33 msgid "No news found" -msgstr "" +msgstr "Keine Nachrichten gefunden" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 #: templates/js/translated/part.js:1604 msgid "ID" -msgstr "" +msgstr "ID" #: templates/js/translated/notification.js:52 msgid "Age" -msgstr "" +msgstr "Alter" #: templates/js/translated/notification.js:65 msgid "Notification" -msgstr "" +msgstr "Benachrichtigung" #: templates/js/translated/notification.js:224 msgid "Mark as unread" -msgstr "" +msgstr "Als ungelesen markieren" #: templates/js/translated/notification.js:228 msgid "Mark as read" -msgstr "" +msgstr "Als gelesen markieren" #: templates/js/translated/notification.js:254 msgid "No unread notifications" -msgstr "" +msgstr "Keine ungelesenen Benachrichtigungen" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" @@ -11844,7 +11983,7 @@ msgstr "" #: templates/js/translated/order.js:126 msgid "Export Order" -msgstr "" +msgstr "Bestellung exportieren" #: templates/js/translated/order.js:241 msgid "Duplicate Line" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,13 +12159,13 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" -msgstr "" +msgstr "Bestand niedrig" #: templates/js/translated/part.js:688 msgid "No stock available" -msgstr "" +msgstr "Kein Lagerbestand verfügbar" #: templates/js/translated/part.js:748 msgid "Demand" @@ -12034,11 +12173,11 @@ msgstr "" #: templates/js/translated/part.js:771 msgid "Unit" -msgstr "" +msgstr "Einheit" #: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 msgid "Virtual part" -msgstr "" +msgstr "Virtuelles Teil" #: templates/js/translated/part.js:806 msgid "Subscribed part" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Suchbegriff eingeben" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 712a2e535d8e..5947d2f92fe1 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Δεν εισήχθη τιμή" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Δόθηκε μη έγκυρη ποσότητα" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Δόθηκε μη έγκυρη ποσότητα ({exc})" @@ -51,26 +56,26 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Σημειώσεις" @@ -127,42 +132,42 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ msgid "Registration is disabled." msgstr "Η εγγραφή είναι απενεργοποιημένη." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Κενό σειριακό αριθμό συμβολοσειράς" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Διπλότυπο serial number" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Μη έγκυρο εύρος ομάδας: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Το εύρος της ομάδας {group} υπερβαίνει την επιτρεπόμενη ποσότητα ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Μη έγκυρη ακολουθία ομάδας: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Δεν βρέθηκαν σειριακοί αριθμοί" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({len(serials)}) πρέπει να αντιστοιχεί στην ποσότητα ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" @@ -331,7 +336,7 @@ msgstr "Κινέζικα (Παραδοσιακά)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -427,13 +432,13 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Χρήστης" @@ -474,13 +479,13 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Μονοπάτι" @@ -576,104 +581,104 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -688,7 +693,7 @@ msgstr "Ο έλεγχος συστήματος για το Inventree απέτυ #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Σε εκκρεμότητα" @@ -722,7 +727,7 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "Σε Εξέλιξη" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -833,7 +838,7 @@ msgstr "Η έξοδος της σειράς κατασκευής ολοκληρ msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Σειρά Κατασκευής" msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Αναφορά" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 21f40562acc2..9cac26ed37c3 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-15 00:38+0000\n" +"POT-Creation-Date: 2024-02-24 03:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,20 +26,20 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:153 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:181 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:183 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:199 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -52,26 +52,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1074 stock/serializers.py:1163 +#: stock/serializers.py:1328 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "" @@ -128,42 +128,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -332,7 +332,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -387,7 +387,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -397,25 +397,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -428,13 +428,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "" @@ -475,10 +475,10 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:80 @@ -491,48 +491,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -541,7 +541,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -577,104 +577,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1113 msgid "Background worker check failed" msgstr "" @@ -689,7 +689,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -814,7 +814,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -834,7 +834,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -934,58 +934,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -996,55 +996,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1520 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1059 part/serializers.py:1624 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1055,7 +1055,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1063,18 +1063,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1082,151 +1082,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1293 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1234,52 +1234,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1416 part/serializers.py:1782 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1289,26 +1294,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1316,46 +1321,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1012 +#: stock/serializers.py:1124 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1363,317 +1368,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:970 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1079 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1156 stock/serializers.py:1412 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1300 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1025 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:737 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1434 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1436 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1447 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1804,14 +1809,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1830,9 +1835,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1842,8 +1847,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1853,7 +1858,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1865,7 +1870,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1893,8 +1898,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1908,11 +1913,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1922,7 +1927,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1932,7 +1937,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1977,7 +1982,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2144,1468 +2149,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3615,31 +3629,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3775,273 +3789,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:753 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:490 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:500 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:474 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 @@ -4049,93 +4063,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:485 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1310 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4197,17 +4211,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1060 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4215,7 +4229,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4460,11 +4474,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4510,11 +4524,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:484 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4562,12 +4576,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4621,7 +4635,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4677,48 +4693,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4778,20 +4794,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4799,391 +4815,391 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5191,139 +5207,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5508,9 +5540,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5574,7 +5606,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5637,7 +5669,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5727,12 +5759,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5741,20 +5773,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5779,11 +5811,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5802,21 +5834,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5825,9 +5857,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:252 +#: part/serializers.py:366 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 @@ -5836,63 +5869,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1213 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1228 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:447 +msgid "Has Results" +msgstr "" + +#: part/api.py:614 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:632 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:648 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:732 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:879 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:880 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:886 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1533 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:381 part/serializers.py:1069 +#: part/templates/part/part_base.html:260 stock/api.py:725 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5905,7 +5991,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5920,7 +6006,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5938,953 +6024,968 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:165 +msgid "Results" +msgstr "" + +#: part/serializers.py:166 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:190 part/serializers.py:208 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:253 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:372 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:382 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:412 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:413 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:418 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:419 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:425 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:426 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:432 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:433 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:439 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:440 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:453 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:455 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:462 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:463 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:475 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:491 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:501 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:508 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:517 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:528 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:535 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:808 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:809 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:815 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:816 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:822 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:823 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:831 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:832 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:837 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:838 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:855 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1061 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1071 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1081 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1087 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1088 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1093 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1094 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1099 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1100 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1108 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1214 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1221 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1229 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1236 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1265 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1266 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1289 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1296 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1299 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1625 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1633 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1634 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1639 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1640 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1645 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1646 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1651 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1652 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1686 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1687 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1717 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1761 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1764 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1767 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1776 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1784 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1805 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -7041,7 +7142,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7275,7 +7376,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7403,7 +7504,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7449,7 +7550,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7621,7 +7722,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7665,7 +7766,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7772,7 +7873,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -8031,7 +8132,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8056,21 +8157,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8339,7 +8440,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8352,17 +8453,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8385,12 +8486,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8417,7 +8518,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8474,7 +8575,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8499,493 +8600,517 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:560 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:745 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:773 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:777 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:780 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:866 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:872 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:903 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:913 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:944 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1311 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1294 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1200 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1157 stock/serializers.py:1413 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:1029 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1033 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1037 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1061 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1067 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1075 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1085 stock/serializers.py:1339 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1164 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1169 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1170 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1175 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1176 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1186 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1253 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1282 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1301 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1329 msgid "Stock transaction notes" msgstr "" @@ -9010,7 +9135,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9026,15 +9151,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9057,17 +9182,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9076,12 +9201,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9122,7 +9247,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9188,7 +9313,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9220,7 +9345,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9330,20 +9455,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9723,7 +9848,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9733,7 +9858,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9836,7 +9961,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9859,7 +9984,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9947,7 +10072,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10295,7 +10420,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10524,7 +10649,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10538,7 +10663,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10776,7 +10901,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10893,7 +11018,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10913,26 +11038,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10964,7 +11089,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11133,7 +11258,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11165,175 +11290,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11356,7 +11481,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11620,61 +11745,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11860,7 +11985,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12021,7 +12146,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12098,19 +12223,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12151,7 +12276,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12163,7 +12288,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12175,60 +12300,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12348,204 +12477,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12761,7 +12894,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12811,10 +12944,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13023,7 +13152,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13047,248 +13176,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13297,23 +13426,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13334,7 +13463,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13353,12 +13482,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13400,7 +13529,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13501,52 +13630,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index fef15b05aa86..7123c3708933 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "La cantidad suministrada es inválida" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "La cantidad suministrada es inválida ({exc})" @@ -51,26 +56,26 @@ msgstr "Detalles del error pueden encontrarse en el panel de administración" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Notas" @@ -127,42 +132,42 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado." msgid "Registration is disabled." msgstr "Registro deshabilitado." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Serie duplicada" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Rango de grupo inválido: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Rango del grupo {group} supera la cantidad permitida ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Secuencia de grupo inválida: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 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})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" @@ -331,7 +336,7 @@ msgstr "Chino (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Archivo no encontrado" msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -427,13 +432,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Usuario" @@ -474,13 +479,13 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Descripción (opcional)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "padre" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Ruta" @@ -576,104 +581,104 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "No tiene permiso para cambiar este rol de usuario." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Solo los superusuarios pueden crear nuevos usuarios" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nombre de Archivo" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "No hay columnas de datos proporcionadas" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" @@ -688,7 +693,7 @@ msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Pendiente" @@ -722,7 +727,7 @@ msgstr "Devuelto" msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Separar del artículo principal" msgid "Split child item" msgstr "Dividir artículo secundario" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Artículos de stock combinados" @@ -833,7 +838,7 @@ msgstr "Construir orden de salida completado" msgid "Build order output rejected" msgstr "Orden de ensamble rechazada" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Consumido por orden de construcción" @@ -881,7 +886,7 @@ msgstr "Reembolso" msgid "Reject" msgstr "Rechazo" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Base de datos desconocida" @@ -933,58 +938,58 @@ msgstr "Acerca de InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumible" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcional" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Disponible" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Construir órden" msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "La parte del pedido de construcción no puede ser modificada" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referencia" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Breve descripción de la construcción (opcional)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Parte" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Referencia de orden de venta" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:222 +#: build/models.py:225 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)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "terminado por" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsable" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de construcción" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Link externo" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Prioridad de construcción" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Prioridad de esta orden de construcción" msgid "Project Code" msgstr "Código del proyecto" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Ensamblar equipo" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1373 +#: build/models.py:1381 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" -#: build/models.py:1382 +#: build/models.py:1390 #, 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})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:171 +#: 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" -#: build/serializers.py:175 +#: 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" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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" -#: build/serializers.py:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Estado" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Quitar inventario asignado" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Resta cualquier existencia que ya ha sido asignado a esta versión" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:641 +#: build/serializers.py:653 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" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:657 +#: build/serializers.py:669 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" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:673 +#: build/serializers.py:685 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" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:790 +#: build/serializers.py:802 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" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:859 +#: build/serializers.py:871 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" -#: build/serializers.py:866 +#: build/serializers.py:878 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" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:947 +#: build/serializers.py:965 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)" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:962 +#: build/serializers.py:980 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" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" 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:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Esta construcción vence el %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Vencido" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Salidas completadas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Salidas completadas" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Orden de Venta" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Emitido por" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioridad" @@ -1892,8 +1902,8 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Destinación" @@ -1907,11 +1917,11 @@ msgstr "Partes asignadas" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Creado" @@ -1931,7 +1941,7 @@ msgstr "Sin fecha objetivo" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Completados" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Pedir partes necesarias" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Partes del pedido" @@ -2143,1468 +2153,1477 @@ msgstr "Nombre de dominio inválido: {domain}" msgid "No plugin" msgstr "Sin plugin" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Reinicio requerido" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Migraciones pendientes" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Número de migraciones de base de datos pendientes" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Nombre de la instancia del servidor" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Descriptor de cadena para la instancia del servidor" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Usar nombre de instancia" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Utilice el nombre de la instancia en la barra de título" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Nombre de empresa" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "URL base para la instancia del servidor" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Moneda predeterminada" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Seleccione la moneda base para los cálculos de precios" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Intervalo de actualización de moneda" -#: common/models.py:1269 +#: common/models.py:1281 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)" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "días" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Plugin de Actualización de Moneda" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Plugin de actualización de moneda a usar" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Descargar desde URL" -#: common/models.py:1284 +#: common/models.py:1296 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" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Límite de tamaño de descarga" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Tamaño máximo de descarga permitido para la imagen remota" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "Agente de usuario usado para descargar desde la URL" -#: common/models.py:1299 +#: common/models.py:1311 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)" -#: common/models.py:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Validación estricta de URL" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Requerir especificación de esquema al validar URLs" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Requiere confirmación" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Requiere confirmación explícita del usuario para ciertas acciones." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Profundidad del árbol" -#: common/models.py:1318 +#: common/models.py:1330 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." -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Actualizar intervalo de actualización" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Copia de seguridad automática" -#: common/models.py:1332 +#: common/models.py:1344 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" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Intervalo de respaldo automático" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Intervalo de eliminación de tareas" -#: common/models.py:1346 +#: common/models.py:1358 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" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Intervalo de eliminación de registro de errores" -#: common/models.py:1355 +#: common/models.py:1367 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" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Intervalo de eliminación de notificaciones" -#: common/models.py:1364 +#: common/models.py:1376 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" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Soporte de código de barras" -#: common/models.py:1372 +#: common/models.py:1384 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" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Retraso de entrada de código de barras" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Tiempo de retraso en la lectura de códigos de barras" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Soporte para Webcam de código de barras" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Revisiones de partes" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisión para parte" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Patrón de expresión regular para IPN de la parte coincidente" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Permitir IPN duplicado" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que varias partes compartan el mismo IPN" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Permitir editar IPN" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Permite cambiar el valor de IPN mientras se edita una parte" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Copiar parte de datos BOM" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar datos BOM por defecto al duplicar una parte" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Copiar parámetros de parte" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Copiar parte de datos de prueba" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Copiar plantillas de parámetros de categoría" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Plantilla" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Montaje" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Comprable" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendible" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Rastreable" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtual" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Mostrar importación en vistas" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Mostrar el asistente de importación en algunas vistas de partes" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/models.py:1491 +#: common/models.py:1503 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" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/models.py:1498 +#: common/models.py:1510 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" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/models.py:1512 +#: common/models.py:1524 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)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/models.py:1518 +#: common/models.py:1530 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" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/models.py:1526 +#: common/models.py:1538 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" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/models.py:1534 +#: common/models.py:1546 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" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/models.py:1558 +#: common/models.py:1570 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" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/models.py:1566 +#: common/models.py:1578 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" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/models.py:1589 +#: common/models.py:1601 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" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Precios internos" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/models.py:1618 +#: common/models.py:1630 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" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Tamaño de página" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Habilitar informes de prueba" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Habilitar generación de informes de prueba" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Adjuntar informes de prueba" -#: common/models.py:1650 +#: common/models.py:1662 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" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/models.py:1657 +#: common/models.py:1669 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" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina el comportamiento predeterminado cuando un artículo de almacén es agotado" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/models.py:1678 +#: common/models.py:1690 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" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/models.py:1697 +#: common/models.py:1709 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" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/models.py:1717 +#: common/models.py:1729 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)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de devolución" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1751 +#: common/models.py:1763 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" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Venta" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de Ordenes de Venta" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Editar Ordenes de Venta Completados" -#: common/models.py:1773 +#: common/models.py:1785 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" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Patrón de Referencia de Orden de Compra" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Editar Ordenes de Compra Completados" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Ordenes de compra" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1805 +#: common/models.py:1817 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" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1811 +#: common/models.py:1823 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" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1824 +#: common/models.py:1836 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" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email requerido" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Grupo al que se asignan nuevos usuarios al registrarse" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:1878 +#: common/models.py:1890 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" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Habilitar códigos de proyecto" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Excluir Ubicaciones Externas" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Mostrar nombres completos de los usuarios" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Mostrar BOMs no validadas" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar BOMs que esperan validación en la página de inicio" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:2072 +#: common/models.py:2092 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" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Mostrar novedades" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:2139 +#: common/models.py:2159 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" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:2155 +#: common/models.py:2175 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" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Buscar Partes del Fabricante" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Excluir las partes inactivas de la ventana de previsualización de búsqueda" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Mostrar categorias de la parte en la ventana de previsualización de búsqueda" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Mostrar artículos del stock en la ventana de previsualización de búsqueda" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Ocultar Artículos del Stock Agotados" -#: common/models.py:2199 +#: common/models.py:2219 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" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Buscar Pedidos de Construcción" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Excluir pedidos de compra inactivos" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Búsqueda usando una expresión regular" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2298 +#: common/models.py:2318 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" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Precio" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Endpoint" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Activo" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Clave" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Host" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Encabezado" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Leer" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "¿Esta noticia ya fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definición" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Definición de unidad" @@ -3774,273 +3793,273 @@ msgstr "Partes importadas" msgid "Previous Step" msgstr "Paso anterior" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Descripción de la empresa" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Descripción de la empresa" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Página web" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contacto" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "es cliente" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "es proveedor" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "es fabricante" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica partes?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Seleccionar empresa" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Título de dirección" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Título que describe la entrada de dirección" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Dirección principal" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Establecer como dirección principal" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Línea 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Dirección línea 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Línea 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Dirección línea 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Código postal" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Ciudad/región" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Código postal de ciudad/región" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Estado/provincia" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Estado o provincia" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "País" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Dirección de país" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Notas de envío de mensajería" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Notas para el mensajero de envío" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Notas de envío internas" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Notas de envío para uso interno" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Parte base" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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" -#: company/models.py:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Valor" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unidades" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:720 +#: company/models.py:725 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" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Nota" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "costo base" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Paquetes" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:854 +#: company/models.py:859 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." -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "múltiple" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" @@ -4196,17 +4215,17 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Cliente" @@ -4214,7 +4233,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usa la moneda predeterminada" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Direcciones" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Parte del proveedor" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "No hay información de proveedor disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Elementos de stock" @@ -4620,7 +4639,9 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Archivo de plantilla de etiqueta" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Habilitado" @@ -4676,48 +4697,48 @@ msgstr "Código QR" msgid "QR code" msgstr "Código QR" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconocido" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Precio Total" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "No se encontró ninguna orden de compra coincidente" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Orden de devolución" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 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)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:286 +#: order/models.py:287 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." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Creado por" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "recibido por" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "enviado por" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay partidas incompletas" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1279 +#: order/models.py:1284 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)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Contexto" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "eliminado" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Orden" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Recibido" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1500 +#: order/models.py:1516 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" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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" -#: order/models.py:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Envío" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Línea" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Ítem" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Resultado" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" @@ -5190,139 +5211,155 @@ msgstr "Costo asociado con la devolución o reparación para esta partida" msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 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" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5507,9 +5544,9 @@ msgstr "Duplicar selección" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Comprar artículos de orden" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Referencia del cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nombre de parte" @@ -5740,20 +5777,20 @@ msgstr "Nombre de parte" msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisión" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Palabras claves" @@ -5778,11 +5815,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5801,21 +5838,21 @@ msgstr "Usado en" msgid "Building" msgstr "En construcción" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Identificador de la clase o especie padre" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Nombre del padre" @@ -5824,9 +5861,10 @@ msgstr "Nombre del padre" msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Ruta de Categoría" msgid "Parts" msgstr "Partes" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Nivel de BOM" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "ID de artículo de BOM" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN de la parte" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Precio máximo" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Orden de compra entrante" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Orden de venta saliente" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Válido" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Categoría" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5904,7 +5995,7 @@ msgstr "Inventario Total" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5919,7 +6010,7 @@ msgstr "Categorías de parte" msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Palabras clave predeterminadas" msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Icono" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:145 +#: part/models.py:147 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!" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Categoría" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:987 +#: part/models.py:991 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" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Fecha" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Informe" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Opciones" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Datos" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Valor de ID de parte única" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Valor IPN de parte" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Nivel" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3994 +#: part/models.py:4013 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)" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 part/templates/part/category.html:122 +#: part/templates/part/category.html:207 +#: part/templates/part/category_sidebar.html:7 +msgid "Subcategories" +msgstr "Subcategorías" + +#: part/serializers.py:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Cantidad Total" @@ -6965,11 +7077,6 @@ msgstr "Eliminar Categoría" msgid "Top level part category" msgstr "Categoría de partes de nivel superior" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Subcategorías" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Partes (incluyendo subcategorías)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Verificación de Inventario" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inactivo" @@ -7402,7 +7509,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -7448,7 +7555,7 @@ msgstr "Editar" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Última actualización" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "Está activo el complemento" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Instalado" @@ -8055,21 +8170,21 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, 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}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -8338,7 +8453,7 @@ msgstr "El proveedor ha sido eliminado" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Precio Unitario" @@ -8351,17 +8466,17 @@ msgstr "Partida extra" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Prueba" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Resultado" @@ -8416,7 +8531,7 @@ msgstr "Elementos instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Serial" @@ -8473,7 +8588,7 @@ msgstr "Nombre del proveedor" msgid "Customer ID" msgstr "ID de cliente" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Instalado en" @@ -8498,493 +8613,523 @@ msgstr "Revisión necesaria" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Ubicaciones de Stock" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propietario" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Seleccionar Propietario" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Externo" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 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" -#: stock/models.py:683 +#: stock/models.py:686 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" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "El objeto no puede pertenecer a sí mismo" -#: stock/models.py:712 +#: stock/models.py:715 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" -#: stock/models.py:725 +#: stock/models.py:728 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" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Artículo de stock padre" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Parte base" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "¿Está este artículo instalado en otro artículo?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Cantidad de Stock" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Build de origen" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Build para este item de stock" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Orden de compra de origen" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Orden de compra para este artículo de stock" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Orden de venta de destino" -#: stock/models.py:883 +#: stock/models.py:888 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" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Eliminar al agotar" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Eliminar este artículo de stock cuando se agoten las existencias" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra único en el momento de la compra" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Los números de serie deben ser una lista de enteros" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de venta" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stock no se puede mover porque no está en stock" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Nombre del test" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Notas de prueba" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "El número de serie es demasiado grande" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Sub-ubicación" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" @@ -9009,7 +9154,7 @@ msgstr "Datos de Prueba" msgid "Test Report" msgstr "Informe de Prueba" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Eliminar Datos de Prueba" @@ -9025,15 +9170,15 @@ msgstr "Notas del artículo de stock" msgid "Installed Stock Items" msgstr "Elementos de Stock instalados" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Instalar artículo de stock" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Acciones de ajuste de stock" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Contar stock" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Añadir stock" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Eliminar stock" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Serializar stock" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Transferir stock" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Asignar a cliente" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Eliminar artículo de stock" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Construcción o Armado" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Cantidad disponible" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Ubicación no establecida" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "Propietario de la ubicación" 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." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Sub-ubicación" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Crear nueva ubicación de stock" @@ -9329,20 +9468,20 @@ msgstr "Crear nueva ubicación de stock" msgid "New Location" msgstr "Nueva Ubicación" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Ajustes del complemento" 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." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Complementos" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instalar complemento" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Recargar Plugins" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Pila de error de complementos" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Etapa" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Mensaje" @@ -9722,7 +9861,7 @@ msgstr "Ruta de instalación" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Integrado" @@ -9732,7 +9871,7 @@ 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:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Muestra" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Confirmar Email" 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." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Confirmar" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "Haga clic en el siguiente enlace para ver esta parte" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Cantidad Mínima" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Existen errores en el formulario" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Ingresar consulta de búsqueda" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 21f40562acc2..9cac26ed37c3 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-15 00:38+0000\n" +"POT-Creation-Date: 2024-02-24 03:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,20 +26,20 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:153 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:181 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:183 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:199 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -52,26 +52,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1074 stock/serializers.py:1163 +#: stock/serializers.py:1328 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "" @@ -128,42 +128,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -332,7 +332,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -387,7 +387,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -397,25 +397,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -428,13 +428,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "" @@ -475,10 +475,10 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:80 @@ -491,48 +491,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -541,7 +541,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -577,104 +577,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1113 msgid "Background worker check failed" msgstr "" @@ -689,7 +689,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -814,7 +814,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -834,7 +834,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -934,58 +934,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -996,55 +996,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1520 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1059 part/serializers.py:1624 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1055,7 +1055,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1063,18 +1063,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1082,151 +1082,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1293 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1234,52 +1234,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1416 part/serializers.py:1782 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1289,26 +1294,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1316,46 +1321,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1012 +#: stock/serializers.py:1124 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1363,317 +1368,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:970 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1079 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1156 stock/serializers.py:1412 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1300 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1025 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:737 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1434 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1436 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1447 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1804,14 +1809,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1830,9 +1835,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1842,8 +1847,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1853,7 +1858,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1865,7 +1870,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1893,8 +1898,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1908,11 +1913,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1922,7 +1927,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1932,7 +1937,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1977,7 +1982,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2144,1468 +2149,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3615,31 +3629,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3775,273 +3789,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:753 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:490 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:500 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:474 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 @@ -4049,93 +4063,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:485 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1310 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4197,17 +4211,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1060 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4215,7 +4229,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4460,11 +4474,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4510,11 +4524,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:484 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4562,12 +4576,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4621,7 +4635,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4677,48 +4693,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4778,20 +4794,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4799,391 +4815,391 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5191,139 +5207,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5508,9 +5540,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5574,7 +5606,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5637,7 +5669,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5727,12 +5759,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5741,20 +5773,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5779,11 +5811,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5802,21 +5834,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5825,9 +5857,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:252 +#: part/serializers.py:366 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 @@ -5836,63 +5869,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1213 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1228 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:447 +msgid "Has Results" +msgstr "" + +#: part/api.py:614 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:632 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:648 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:732 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:879 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:880 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:886 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1533 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:381 part/serializers.py:1069 +#: part/templates/part/part_base.html:260 stock/api.py:725 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5905,7 +5991,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5920,7 +6006,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5938,953 +6024,968 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:165 +msgid "Results" +msgstr "" + +#: part/serializers.py:166 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:190 part/serializers.py:208 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:253 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:372 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:382 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:412 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:413 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:418 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:419 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:425 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:426 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:432 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:433 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:439 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:440 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:453 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:455 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:462 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:463 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:475 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:491 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:501 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:508 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:517 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:528 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:535 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:808 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:809 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:815 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:816 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:822 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:823 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:831 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:832 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:837 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:838 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:855 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1061 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1071 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1081 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1087 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1088 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1093 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1094 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1099 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1100 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1108 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1214 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1221 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1229 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1236 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1265 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1266 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1289 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1296 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1299 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1625 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1633 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1634 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1639 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1640 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1645 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1646 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1651 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1652 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1686 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1687 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1717 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1761 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1764 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1767 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1776 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1784 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1805 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -7041,7 +7142,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7275,7 +7376,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7403,7 +7504,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7449,7 +7550,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7621,7 +7722,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7665,7 +7766,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7772,7 +7873,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -8031,7 +8132,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8056,21 +8157,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8339,7 +8440,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8352,17 +8453,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8385,12 +8486,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8417,7 +8518,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8474,7 +8575,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8499,493 +8600,517 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:560 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:745 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:773 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:777 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:780 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:866 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:872 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:903 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:913 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:944 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1311 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1294 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1200 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1157 stock/serializers.py:1413 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:1029 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1033 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1037 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1061 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1067 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1075 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1085 stock/serializers.py:1339 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1164 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1169 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1170 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1175 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1176 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1186 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1253 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1282 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1301 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1329 msgid "Stock transaction notes" msgstr "" @@ -9010,7 +9135,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9026,15 +9151,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9057,17 +9182,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9076,12 +9201,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9122,7 +9247,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9188,7 +9313,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9220,7 +9345,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9330,20 +9455,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9723,7 +9848,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9733,7 +9858,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9836,7 +9961,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9859,7 +9984,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9947,7 +10072,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10295,7 +10420,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10524,7 +10649,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10538,7 +10663,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10776,7 +10901,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10893,7 +11018,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10913,26 +11038,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10964,7 +11089,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11133,7 +11258,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11165,175 +11290,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11356,7 +11481,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11620,61 +11745,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11860,7 +11985,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12021,7 +12146,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12098,19 +12223,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12151,7 +12276,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12163,7 +12288,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12175,60 +12300,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12348,204 +12477,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12761,7 +12894,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12811,10 +12944,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13023,7 +13152,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13047,248 +13176,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13297,23 +13426,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13334,7 +13463,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13353,12 +13482,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13400,7 +13529,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13501,52 +13630,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index f49d3b57d01f..47e6da04cf09 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "مقداری افزوده نشده" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "تعداد افزوده شده اشتباه است" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "یادداشت" @@ -127,42 +132,42 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -427,13 +432,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "فایل‌های داده" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "فایل را برای بارگذاری انتخاب کنید" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "این نوع فایل پشتیبانی نمی‌شود" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "حجم فایل خیلی بزرگ است" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "هیچ ستونی در فایل یافت نشد" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "هیچ ردیف داده ای در فایل یافت نشد" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "هیچ ردیف داده ای ارائه نشده است" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "هیچ ستون داده ای ارائه نشده است" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -722,7 +727,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "تایید" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 60d56429bf6d..d541857a283b 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Arvoa ei annettu" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "Virheen tiedot löytyvät hallintapaneelista" msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Merkinnät" @@ -127,42 +132,42 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Tyhjä sarjanumero" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplikaatti sarjanumero" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Sarjanumeroita ei löytynyt" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Puuttuva tiedosto" msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Liite" msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -427,13 +432,13 @@ msgstr "Kommentti" msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Käyttäjä" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Polku" @@ -576,104 +581,104 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Tiedostonimi" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Odottaa" @@ -722,7 +727,7 @@ msgstr "Palautettu" msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Saatavilla" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Osa" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Sijainti" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Tila" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Myöhässä" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioriteetti" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Valmis" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "Virheellinen verkkotunnus: {domain}" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Yrityksen nimi" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "päivää" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponentti" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Seurattavissa" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Hinta" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Isäntä" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "Edellinen vaihe" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Yrityksen kuvaus" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Sivusto" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Yrityksen sivuston URL" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Puhelinnumero" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakti" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "on asiakas" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "on toimittaja" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "on valmistaja" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Yritys" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Valmistaja" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Arvo" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Asiakas" @@ -4214,7 +4233,7 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Käytössä" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "QR-koodi" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategoria" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Oletus avainsanat" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Kuvake" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategoria" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Raportti" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "Poista kategoria" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "Muokkaa" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Sarjanumero" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Vahvista sähköpostiosoite" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Vahvista" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Sulje" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index a2b1660891b0..3568336442b9 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Pas de valeur renseignée" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Impossible de convertir {original} en {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Quantité fournie invalide" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantité fournie invalide ({exc})" @@ -51,26 +56,26 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Notes" @@ -127,42 +132,42 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé." msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Numéro de série en doublon" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Plage de groupe non valide : {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "La plage de groupe {group} dépasse la quantité autorisée ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Séquence de groupe invalide : {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Le nombre de numéros de série uniques ({len(serials)}) doit correspondre à la quantité ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" @@ -331,7 +336,7 @@ msgstr "Chinois (Traditionnel)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -427,13 +432,13 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Utilisateur" @@ -474,13 +479,13 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Description" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Description (facultative)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Chemin d'accès" @@ -576,104 +581,104 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Vous n'avez pas la permission de modifier ce rôle utilisateur." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Seuls les super-utilisateurs peuvent créer de nouveaux utilisateurs" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Images distantes" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -688,7 +693,7 @@ msgstr "Échec des contrôles de santé du système" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "En attente" @@ -722,7 +727,7 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -833,7 +838,7 @@ msgstr "Sortie de l'ordre de construction terminée" msgid "Build order output rejected" msgstr "La sortie de l'ordre de construction a été refusée" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" @@ -881,7 +886,7 @@ msgstr "Remboursement" msgid "Reject" msgstr "Refuser" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Base de données inconnue" @@ -933,58 +938,58 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consommable" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Facultatif" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Suivi" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allouée" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Disponible" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Ordre de Fabrication" msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Référence" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Pièce" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "achevé par" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Émis par" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsable" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Priorité de cet ordre de fabrication" msgid "Project Code" msgstr "Code du projet" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Création de l'objet" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1465 +#: build/models.py:1473 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:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:171 +#: 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:175 +#: 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:179 +#: 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:190 +#: 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:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:301 +#: build/serializers.py:302 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:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 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:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "État" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:511 +#: build/serializers.py:512 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:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Soustraire tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:588 +#: build/serializers.py:600 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:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 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:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:740 +#: build/serializers.py:752 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:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:962 +#: build/serializers.py:980 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:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Cette construction était due le %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "En retard" @@ -1841,8 +1851,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:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Sorties de Construction terminées" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Commandes" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Émis par" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Priorité" @@ -1892,8 +1902,8 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Destination" @@ -1907,11 +1917,11 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Lot" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Créé le" @@ -1931,7 +1941,7 @@ msgstr "Pas de date cible définie" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Terminé" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Commander les pièces requises" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Commander des pièces" @@ -2143,1468 +2153,1477 @@ msgstr "Nom de domaine invalide : {domain}" msgid "No plugin" msgstr "Pas de plugin" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Migration en attente" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Nombre de migrations de base de données en attente" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "URL de base" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Intervalle de mise à jour des devises" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "jours" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Plugin de mise à jour de devise" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Plugin de mise à jour des devises à utiliser" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:1291 +#: common/models.py:1303 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:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Validation stricte d'URL" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Spécification du schéma nécessaire lors de la validation des URL" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:1332 +#: common/models.py:1344 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:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1372 +#: common/models.py:1384 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:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1385 +#: common/models.py:1397 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:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1397 +#: common/models.py:1409 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:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1407 +#: common/models.py:1419 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:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1413 +#: common/models.py:1425 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:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1419 +#: common/models.py:1431 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:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1425 +#: common/models.py:1437 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:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1431 +#: common/models.py:1443 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:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Modèle" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1443 +#: common/models.py:1455 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:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Composant" -#: common/models.py:1449 +#: common/models.py:1461 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:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendable" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1512 +#: common/models.py:1524 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:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1542 +#: common/models.py:1554 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:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1550 +#: common/models.py:1562 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:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1558 +#: common/models.py:1570 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:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1581 +#: common/models.py:1593 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:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1589 +#: common/models.py:1601 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:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1604 +#: common/models.py:1616 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:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1657 +#: common/models.py:1669 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:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1678 +#: common/models.py:1690 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:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1711 +#: common/models.py:1723 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:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1717 +#: common/models.py:1729 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:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1729 +#: common/models.py:1741 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:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Modèle requis pour générer le champ de référence du retour de commande" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1759 +#: common/models.py:1771 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:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1766 +#: common/models.py:1778 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:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1781 +#: common/models.py:1793 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:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1805 +#: common/models.py:1817 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:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1811 +#: common/models.py:1823 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:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email requis" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1838 +#: common/models.py:1850 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:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1851 +#: common/models.py:1863 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:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 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:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2036 +#: common/models.py:2056 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:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:2048 +#: common/models.py:2068 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:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2054 +#: common/models.py:2074 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:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2072 +#: common/models.py:2092 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:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2078 +#: common/models.py:2098 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:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2084 +#: common/models.py:2104 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:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2147 +#: common/models.py:2167 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:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2162 +#: common/models.py:2182 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:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 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:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2174 +#: common/models.py:2194 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:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2180 +#: common/models.py:2200 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:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2186 +#: common/models.py:2206 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:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2192 +#: common/models.py:2212 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:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2206 +#: common/models.py:2226 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:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2218 +#: common/models.py:2238 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:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2224 +#: common/models.py:2244 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:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2231 +#: common/models.py:2251 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:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2238 +#: common/models.py:2258 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:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2245 +#: common/models.py:2265 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:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2298 +#: common/models.py:2318 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:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prix" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Actif" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Jeton" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "ID message" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Hôte" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Entête" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Corps" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Lu" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "Pièces importées" msgid "Previous Step" msgstr "Étape précédente" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Description de la société" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Description de la société" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Site web" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Numéro de téléphone" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Numéro de téléphone de contact" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contact" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "est client" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "est fournisseur" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "est fabricant" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Société" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Sélectionner une entreprise" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Sélectionner comme adresse principale" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Ligne 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Adresse" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Ligne 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Seconde ligne d'adresse" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Code postal" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Ville / Région" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Code postal Ville / Région" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "État / Province" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "État ou province" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Pays" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Pays" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Notes du livreur" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Instructions pour le livreur" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Notes pour la livraison interne" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Notes internes pour la livraison" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Valeur" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unités" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 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:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Note" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "coût de base" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "plusieurs" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" @@ -4196,17 +4215,17 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Client" @@ -4214,7 +4233,7 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Adresses" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Aucune information de fournisseur disponible" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Éléments en stock" @@ -4620,7 +4639,9 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Activé" @@ -4676,48 +4697,48 @@ msgstr "QR Code" msgid "QR code" msgstr "QR code" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Inconnu" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Prix Total" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Retour de commande" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Créé par" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "reçu par" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "expédié par" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "La commande ne peut pas être terminée car il y a des envois incomplets" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Contexte" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "supprimé" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Commande" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Reçu" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1495 +#: order/models.py:1511 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:1500 +#: order/models.py:1516 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:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Ligne" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Article" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" -msgstr "La commande n'est pas ouverte" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "La commande n'est pas ouverte" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:588 +#: order/serializers.py:610 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:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 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:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nom de l'article" @@ -5740,20 +5777,20 @@ msgstr "Nom de l'article" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "Pièces" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Catégorie" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5919,7 +6010,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Catégorie" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Date" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Données" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "Supprimer la catégorie" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Pièces (incluant les sous-catégories)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -7448,7 +7555,7 @@ msgstr "Modifier" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "Extension" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Résultat" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Numéro de série" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 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:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Assemblage" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Paramètres des Extensions" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Extensions" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Les extensions tierces ne sont pas activées pour cette installation d'InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "Chemin d'installation" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Confirmer" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Quantité requise" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 0a5f6615d0f2..38024e00bc19 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "" @@ -127,42 +132,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -427,13 +432,13 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "משתמש" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "שם" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "תיאור (לא חובה)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "בהמתנה" @@ -722,7 +727,7 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "מקט" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "רכיב" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "כמות" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "אשר" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/hi/LC_MESSAGES/django.po b/InvenTree/locale/hi/LC_MESSAGES/django.po index 94feed714e43..ce2829beccbc 100644 --- a/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "" @@ -127,42 +132,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -427,13 +432,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -722,7 +727,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 6a84d831778e..0496da3ff290 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nincs érték megadva" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} átváltása {unit}-ra sikertelen" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Hibás mennyiség" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Hibás mennyiség ({exc})" @@ -51,26 +56,26 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Megjegyzések" @@ -127,42 +132,42 @@ msgstr "A megadott email domain nincs jóváhagyva." msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplikált sorozatszám" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Hibás tartomány: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Csoport tartomány {group} több mint az engedélyezett ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Hibás csoport-sor: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Az egyedi sorozatszámok számának ({len(serials)}) meg kell egyeznie a mennyiséggel ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" @@ -331,7 +336,7 @@ msgstr "Kínai (Hagyományos)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Bejelentkezés" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -427,13 +432,13 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Felhasználó" @@ -474,13 +479,13 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Név" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Leírás (opcionális)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Elérési út" @@ -576,104 +581,104 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Önnek nincs joga változtatni ezen a felhasználói szerepkörön." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Csak a superuser-ek hozhatnak létre felhasználókat" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "A fiókod sikeresen létrejött." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Üdvözlet az InvenTree-ben" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Távoli kép" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -688,7 +693,7 @@ msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Függőben" @@ -722,7 +727,7 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -833,7 +838,7 @@ msgstr "Gyártási utasítás kimenete kész" msgid "Build order output rejected" msgstr "Gyártási utasítás kimenete elutasítva" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" @@ -881,7 +886,7 @@ msgstr "Visszatérítés" msgid "Reject" msgstr "Elutasított" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Ismeretlen adatbázis" @@ -933,58 +938,58 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcionális" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Követett" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Elérhető" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Gyártási utasítás" msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Azonosító" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 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:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Alkatrész" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:213 +#: build/models.py:216 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:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "elkészítette" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Indította" -#: build/models.py:291 +#: build/models.py:294 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:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Felelős" -#: build/models.py:300 +#: build/models.py:303 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:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Külső link" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Gyártási utasítás priorítása" msgid "Project Code" msgstr "Projektszám" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:556 +#: build/models.py:559 #, 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:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:786 +#: build/models.py:789 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:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Gyártás objektum" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1404 +#: build/models.py:1412 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:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,318 +1372,318 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:171 +#: 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:175 +#: 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:179 +#: 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:190 +#: 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:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:268 +#: build/serializers.py:269 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:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:301 +#: build/serializers.py:302 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:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 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:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Hely" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Állapot" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Az összes lefoglalt tétel levonása a készletről" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 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:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:740 +#: build/serializers.py:752 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:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:956 +#: build/serializers.py:974 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:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:962 +#: build/serializers.py:980 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:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1804,14 +1814,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1830,9 +1840,9 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Késésben" @@ -1842,8 +1852,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1853,7 +1863,7 @@ msgstr "Befejezett kimenetek" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1865,7 +1875,7 @@ msgid "Issued By" msgstr "Kiállította" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioritás" @@ -1893,8 +1903,8 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Cél" @@ -1908,11 +1918,11 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1922,7 +1932,7 @@ msgstr "Batch" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Létrehozva" @@ -1932,7 +1942,7 @@ msgstr "Nincs céldátum beállítva" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Kész" @@ -1977,7 +1987,7 @@ msgid "Order required parts" msgstr "Szükséges alkatrészek rendelése" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Alkatrész rendelés" @@ -2144,1468 +2154,1477 @@ msgstr "Érvénytelen domain név: {domain}" msgid "No plugin" msgstr "Nincsen plugin" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Függőben levő migrációk" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Függőben levő adatbázis migrációk" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Cég neve" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Árfolyam frissítési gyakoriság" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "nap" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Árfolyam frissítő plugin" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Kiválasztott árfolyam frissítő plugin" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Erős URL validáció" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Sablon specifikáció igénylése az URL validálásnál" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:1332 +#: common/models.py:1344 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:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/models.py:1338 +#: common/models.py:1350 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:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1372 +#: common/models.py:1384 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:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1385 +#: common/models.py:1397 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:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1407 +#: common/models.py:1419 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:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1413 +#: common/models.py:1425 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:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1419 +#: common/models.py:1431 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:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1425 +#: common/models.py:1437 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:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1431 +#: common/models.py:1443 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:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Sablon" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1443 +#: common/models.py:1455 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:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Összetevő" -#: common/models.py:1449 +#: common/models.py:1461 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:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1479 +#: common/models.py:1491 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:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1518 +#: common/models.py:1530 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:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1526 +#: common/models.py:1538 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:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1542 +#: common/models.py:1554 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:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1550 +#: common/models.py:1562 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:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1558 +#: common/models.py:1570 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:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1574 +#: common/models.py:1586 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:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1581 +#: common/models.py:1593 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:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1604 +#: common/models.py:1616 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:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1657 +#: common/models.py:1669 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:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1678 +#: common/models.py:1690 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:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1711 +#: common/models.py:1723 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:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1722 +#: common/models.py:1734 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:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1729 +#: common/models.py:1741 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:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1743 +#: common/models.py:1755 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:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1751 +#: common/models.py:1763 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:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1759 +#: common/models.py:1771 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:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1766 +#: common/models.py:1778 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:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1781 +#: common/models.py:1793 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:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1797 +#: common/models.py:1809 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:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1811 +#: common/models.py:1823 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:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1838 +#: common/models.py:1850 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:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1845 +#: common/models.py:1857 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:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1851 +#: common/models.py:1863 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:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1858 +#: common/models.py:1870 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:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:1887 +#: common/models.py:1899 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:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1894 +#: common/models.py:1906 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:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1915 +#: common/models.py:1927 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:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1922 +#: common/models.py:1934 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:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:1929 +#: common/models.py:1941 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:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:1944 +#: common/models.py:1956 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:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:1960 +#: common/models.py:1972 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:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:1968 +#: common/models.py:1980 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:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 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:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2036 +#: common/models.py:2056 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:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:2048 +#: common/models.py:2068 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:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2054 +#: common/models.py:2074 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:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2072 +#: common/models.py:2092 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:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2096 +#: common/models.py:2116 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:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2120 +#: common/models.py:2140 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:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2126 +#: common/models.py:2146 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:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2168 +#: common/models.py:2188 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:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2174 +#: common/models.py:2194 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:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2180 +#: common/models.py:2200 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:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2186 +#: common/models.py:2206 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:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2192 +#: common/models.py:2212 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:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2218 +#: common/models.py:2238 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:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2224 +#: common/models.py:2244 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:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2231 +#: common/models.py:2251 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:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2238 +#: common/models.py:2258 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:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2245 +#: common/models.py:2265 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:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2259 +#: common/models.py:2279 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:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2286 +#: common/models.py:2306 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:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2292 +#: common/models.py:2312 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:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2298 +#: common/models.py:2318 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:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2325 +#: common/models.py:2345 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:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2333 +#: common/models.py:2353 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:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Ár" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktív" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Titok" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Fejléc" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Törzs" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3615,31 +3634,31 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Képfájl" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Mértékegység definíció" @@ -3775,273 +3794,273 @@ msgstr "Importált alkatrészek" msgid "Previous Step" msgstr "Előző lépés" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Weboldal" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Névjegy" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "vevő-e" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "beszállító-e" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "gyártó-e" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Cég" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Cég kiválasztása" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Cím megnevezése" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Címhez tartozó leírás, megnevezés" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Elsődleges cím" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Beállítás elsődleges címként" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "1. sor" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Cím első sora" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "2. sor" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Cím második sora" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Irányítószám" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Város/Régió" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Irányítószám város/régió" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Állam/Megye" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Állam vagy megye" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Ország" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Cím országa" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Megjegyzés a futárnak" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Futárnak szóló megjegyzések" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Belső szállítási megjegyzések" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Szállítási megjegyzések belső használatra" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Érték" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Mértékegység" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:720 +#: company/models.py:725 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:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" -#: company/models.py:741 +#: company/models.py:746 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:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4049,93 +4068,93 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "alap költség" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:854 +#: company/models.py:859 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:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "többszörös" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" @@ -4197,17 +4216,17 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Vevő" @@ -4215,7 +4234,7 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4460,11 +4479,11 @@ msgid "Addresses" msgstr "Címek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -4510,11 +4529,11 @@ msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4562,12 +4581,12 @@ msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Készlet tételek" @@ -4621,7 +4640,9 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Engedélyezve" @@ -4677,48 +4698,48 @@ msgstr "QR kód" msgid "QR code" msgstr "QR kód" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ismeretlen" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4778,20 +4799,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4799,391 +4820,391 @@ msgstr "Nincs egyező beszerzési rendelés" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Visszavétel" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Készítette" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "érkeztette" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:894 +#: order/models.py:899 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:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "szállította" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Kontextus" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "törölve" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Rendelés" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1417 +#: order/models.py:1422 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:1495 +#: order/models.py:1511 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:1500 +#: order/models.py:1516 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:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 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:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 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:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 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:1855 +#: order/models.py:1871 msgid "Line" msgstr "Sor" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Tétel" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2167 +#: order/models.py:2185 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:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2209 +#: order/models.py:2227 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" @@ -5191,139 +5212,155 @@ msgstr "Sortétel visszaküldésének vagy javításának költsége" msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 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:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:456 +#: order/serializers.py:478 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:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 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:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:588 +#: order/serializers.py:610 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:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1633 +#: order/serializers.py:1655 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:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5508,9 +5545,9 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5574,7 +5611,7 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5637,7 +5674,7 @@ msgstr "Vevői azonosító" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5727,12 +5764,12 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Alkatrész neve" @@ -5741,20 +5778,20 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5779,11 +5816,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:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5802,21 +5839,21 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Szülő ID" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Szülő neve" @@ -5825,9 +5862,10 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5836,63 +5874,116 @@ msgstr "Kategória elérési út" msgid "Parts" msgstr "Alkatrészek" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Alkatrészjegyzék szint" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "Alkatrészjegyzék tétel ID" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Érvényes" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategória" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5905,7 +5996,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:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5920,7 +6011,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:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5938,953 +6029,974 @@ msgstr "Alapértelmezett kulcsszavak" msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:145 +#: part/models.py:147 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:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, 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:548 +#: part/models.py:550 #, 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:613 +#: part/models.py:615 #, 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:693 +#: part/models.py:695 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:796 +#: part/models.py:800 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:806 +#: part/models.py:810 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:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:882 +#: part/models.py:886 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:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategória" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:907 +#: part/models.py:911 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:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:987 +#: part/models.py:991 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:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1012 +#: part/models.py:1016 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:1018 +#: part/models.py:1022 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:1024 +#: part/models.py:1028 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:1030 +#: part/models.py:1034 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:1036 +#: part/models.py:1040 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:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Dátum" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Riport" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3418 +#: part/models.py:3438 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:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3477 +#: part/models.py:3496 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:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3484 +#: part/models.py:3503 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:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Adat" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Szint" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3994 +#: part/models.py:4013 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:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4002 +#: part/models.py:4021 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:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 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:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 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:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4300 +#: part/models.py:4319 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:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:432 +#: part/serializers.py:462 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:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:452 +#: part/serializers.py:482 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:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 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:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:809 +#: part/serializers.py:839 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:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1038 +#: part/serializers.py:1068 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:1048 +#: part/serializers.py:1078 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:1058 +#: part/serializers.py:1088 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:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1071 +#: part/serializers.py:1101 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:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1077 +#: part/serializers.py:1107 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:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, 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:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1611 +#: part/serializers.py:1641 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:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1617 +#: part/serializers.py:1647 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:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1629 +#: part/serializers.py:1659 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:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1664 +#: part/serializers.py:1694 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:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -6966,11 +7078,6 @@ msgstr "Kategória törlése" msgid "Top level part category" msgstr "Legfelső szintű alkatrész kategória" -#: 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/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Alkatrészek száma (alkategóriákkal együtt)" @@ -7041,7 +7148,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Leltár" @@ -7275,7 +7382,7 @@ msgstr "Az alkatrész nem aktív" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktív" @@ -7403,7 +7510,7 @@ msgstr "Változatok" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -7449,7 +7556,7 @@ msgstr "Szerkesztés" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -7621,7 +7728,7 @@ msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" @@ -7665,7 +7772,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:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Nincs elegendő" @@ -7772,7 +7879,7 @@ msgstr "A címke PDF nyomtatása sikertelen" msgid "Error rendering label to HTML" msgstr "A címke HTML nyomtatása sikertelen" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "A címke PNG nyomtatása sikertelen" @@ -7965,36 +8072,44 @@ msgstr "TME vonalkódok támogatása" msgid "The Supplier which acts as 'TME'" msgstr "A 'TME' beszállító" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "Plugin telepítése sikeres" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin telepítve ide: {path}" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "Ez a plugin nem található a tárolóban" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "A plugin nem egy csomagolt plugin" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "Plugin csomag neve nem található" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "Plugin nem eltávolítható mivel még aktív" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "Plugin eltávolítása sikeres" @@ -8031,7 +8146,7 @@ msgid "Is the plugin active" msgstr "Aktív-e a plugin" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Beépítve" @@ -8056,21 +8171,21 @@ msgstr "Plugin" msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -8339,7 +8454,7 @@ msgstr "Beszállító törölve lett" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Egységár" @@ -8352,17 +8467,17 @@ msgstr "Egyéb tételek" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Összesen" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8385,12 +8500,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Eredmény" @@ -8417,7 +8532,7 @@ msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Sorozatszám" @@ -8474,7 +8589,7 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Beépítve ebbe" @@ -8499,493 +8614,523 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Állott" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:893 +#: stock/api.py:921 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:924 +#: stock/api.py:952 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" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "Készlethely típus" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "Készlethely típusok" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Alapértelmezett ikon azokhoz a helyekhez, melyeknek nincs ikonja beállítva (válaszható)" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Külső" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Ez egy külső készlethely" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Helyszín típusa" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "Tárolóhely típus" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "A beszállítói alkatrész típusa ('{self.supplier_part.part}') mindenképpen {self.part} kellene, hogy legyen" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Felhasználva ebben" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "Felhasználva ebben a gyártásban" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1807 +#: stock/models.py:1873 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:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Teszt neve" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:215 +#: stock/serializers.py:267 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:328 +#: stock/serializers.py:380 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:390 +#: stock/serializers.py:442 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:403 +#: stock/serializers.py:455 #, 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:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:541 +#: stock/serializers.py:593 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:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:641 +#: stock/serializers.py:693 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:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:709 +#: stock/serializers.py:761 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:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Alhelyek" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 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:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 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:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9010,7 +9155,7 @@ msgstr "Teszt adatok" msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Teszt adatok törlése" @@ -9026,15 +9171,15 @@ msgstr "Készlet tétel megjegyzések" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -9057,17 +9202,17 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Leltározás" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Készlet növelése" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Készlet csökkentése" @@ -9076,12 +9221,12 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Készlet áthelyezése" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Vevőhöz rendelése" @@ -9122,7 +9267,7 @@ msgid "Delete stock item" msgstr "Készlet tétel törlése" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Gyártás" @@ -9188,7 +9333,7 @@ msgid "Available Quantity" msgstr "Elérhető mennyiség" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Nincs beállítva hely" @@ -9220,7 +9365,7 @@ msgid "No stocktake performed" msgstr "Még nem volt leltározva" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "készlet tétel" @@ -9316,12 +9461,6 @@ msgstr "Hely tulajdonosa" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Úgytűnik nem vagy ennek a készlethelynek a tulajdonosa. Ezt így nem tudod módosítani." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Alhelyek" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" @@ -9330,20 +9469,20 @@ msgstr "Új készlet hely létrehozása" msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -9651,36 +9790,36 @@ msgstr "Plugin beállítások" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Pluginok" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin Telepítése" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Pluginok újratöltése" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Külső pluginok nincsenek engedélyezve" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Plugin hibatároló" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Szakasz" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Üzenet" @@ -9723,7 +9862,7 @@ msgstr "Telepítési útvonal" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Beépített" @@ -9733,7 +9872,7 @@ msgstr "Ez egy beépített plugin amit nem lehet letiltani" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Minta" @@ -9836,7 +9975,7 @@ msgid "Rate" msgstr "Árfolyam" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9859,7 +9998,7 @@ msgid "No project codes found" msgstr "Nem találhatók projektszámok" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "csoport" @@ -9947,7 +10086,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10295,7 +10434,7 @@ msgstr "Email cím megerősítése" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Megerősítés" @@ -10524,7 +10663,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -10538,7 +10677,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:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -10776,7 +10915,7 @@ msgstr "Sor adat" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Bezárás" @@ -10893,7 +11032,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:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -10913,26 +11052,26 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 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:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -10964,7 +11103,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:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -11133,7 +11272,7 @@ 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:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" @@ -11165,175 +11304,175 @@ msgstr "gyártás kimenetek" msgid "Build output actions" msgstr "Gyártási kimenet műveletei" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "Lefoglalt sorok" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "Szükséges tesztek" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Válassz alkatrészeket" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "gyártás sor" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "gyártás sorok" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "Követett tétel" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "Készlet foglalások törlése" @@ -11356,7 +11495,7 @@ msgid "Add Supplier" msgstr "Beszállító hozzáadása" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" @@ -11620,61 +11759,61 @@ msgstr "Összes szűrő törlése" msgid "Create filter" msgstr "Szűrő létrehozása" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "Művelet tiltva" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "Létrehozás nem engedélyezett" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "Módosítás nem engedélyezett" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "Törlés nem engedélyezett" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "Form nyitva tartása" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "Adj meg egy érvényes számot" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Form hibák vannak" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "Nincs találat" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -11860,7 +11999,7 @@ msgid "Delete Line" msgstr "Sor törlése" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "Nem találhatók sortételek" @@ -12021,7 +12160,7 @@ msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Alacsony készlet" @@ -12098,19 +12237,19 @@ msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -12151,7 +12290,7 @@ msgid "No category" msgstr "Nincs kategória" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "Megjelenítés listaként" @@ -12163,7 +12302,7 @@ msgstr "Megjelenítés rácsnézetként" msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "Megjelenítés fában" @@ -12175,60 +12314,64 @@ msgstr "Alkategóriák betöltése" msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "találat" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 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:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 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:3084 +#: templates/js/translated/part.js:3106 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:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "Maximum mennyiség" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -12348,204 +12491,208 @@ msgstr "Beszerzési rendelés szerkesztése" msgid "Duplication Options" msgstr "Másolási opciók" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "Beszerzési rendelés befejezése" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "Rendelés befejezettnek jelölése?" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "Minden sortétel megérkezett" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "A rendelés befejezettnek jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "Beszerzési rendelés törlése" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "Ezt a beszerzési rendelést nem lehet törölni" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "A kiküldés után a sortételek már nem lesznek szerkeszthetők." -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "Beszerzési rendelés kiküldése" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "Rendelendő mennyiség" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "Új beszállítói alkatrész" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "Új beszerzési rendelés" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "Hozzáadás beszerzési rendeléshez" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "Nincsenek egyező beszállítói alkatrészek" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "Sortételek kiválasztása" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "Vonalkód hozzáadása" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "Vonalkód eltávolítása" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "Add meg a helyet" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "Batch kód hozzáadása" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "Sorozatszám hozzáadása" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "Sorozatszámok" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "Tétel vonalkód beolvasása" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Beérkezett tétel vonalkódjának leolvasása (egyik meglévő készlet tétellel sem egyezhet)" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "Érvénytelen vonalkód adat" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Tételek" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "Az összes kijelölt sortétel törlésre kerül" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12761,7 +12908,7 @@ msgstr "Készlet foglalások törlése" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" @@ -12811,10 +12958,6 @@ msgstr "Add meg a keresési lekérdezést" msgid "result" msgstr "eredmény" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "találat" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "Eredmények összezárása" @@ -13023,7 +13166,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosíthat msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -13047,248 +13190,248 @@ msgstr "SIKERTELEN" msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "Készlet állapot módosítása" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "Készlet összevonása" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "készlet tételek" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "Beolvasás helyre" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "Készlet műveletek" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "Beépített tételek betöltése" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "Készlet tétel fel lett használva egy gyártásban" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "Nincs változás" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "Visszavétel már nem létezik" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "Válassz ki egy vagy több készlet tételt" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "Kiválasztott készlet tételek" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" @@ -13297,23 +13440,23 @@ msgid "Has project code" msgstr "Van projektszáma" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "Rendelés állapota" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "Kintlévő" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "Hozzám rendelt" @@ -13334,7 +13477,7 @@ msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "Van árazás" @@ -13353,12 +13496,12 @@ msgstr "Van készlethely típusa" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "Alkategóriákkal együtt" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "Értesítés beállítva" @@ -13400,7 +13543,7 @@ msgid "Batch code" msgstr "Batch kód" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "Aktív alkatrész" @@ -13501,52 +13644,52 @@ msgstr "Teszten megfelelt" msgid "Include Installed Items" msgstr "Beépített tételekkel együtt" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "Gyártási állapot" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "Van mértékegysége" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "Az alkatrésznek van megadva mértékegysége" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "Volt leltár" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "Vannak lehetőségei" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index b07735719a05..8f31586557a7 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nilai tidak tersedia" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "Detail terkait galat dapat dilihat di panel admin" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Catatan" @@ -127,42 +132,42 @@ msgstr "Domain surel yang diberikan tidak perbolehkan." msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Nomor seri kosong" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Tidak ada nomor seri ditemukan" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Hapus tag-tag HTML dari nilai ini" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -427,13 +432,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Pengguna" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Keterangan (opsional)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Direktori" @@ -576,104 +581,104 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "Pengecekan kesehatan sistem InvenTree gagal" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -722,7 +727,7 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -833,7 +838,7 @@ msgstr "Order output produksi selesai" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Order Produksi" msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referensi" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Produksi induk dari produksi ini" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Bagian" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:175 +#: 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:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Produksi" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Konfirmasi alamat surel" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Harap konfirmasikan bahwa %(email)s adalah alamat surel untuk pengguna %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Konfirmasi" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index dee04da8e9fa..4d3dac9de3ee 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nessun valore specificato" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Impossibile convertire {original} in {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Quantità fornita non valida" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantità fornita non valida ({exc})" @@ -51,26 +56,26 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Note" @@ -127,42 +132,42 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato." msgid "Registration is disabled." msgstr "La registrazione è disabilitata." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Seriale Duplicato" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Intervallo di gruppo non valido: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "L'intervallo di gruppo {group} supera la quantità consentita ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Sequenza di gruppo non valida: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Il numero di numeri di serie univoci ({len(serials)}) deve corrispondere alla quantità ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" @@ -331,7 +336,7 @@ msgstr "Cinese (Tradizionale)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -427,13 +432,13 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Utente" @@ -474,13 +479,13 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Descrizione (opzionale)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Percorso" @@ -576,104 +581,104 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Non hai i permessi per cambiare il ruolo dell'utente." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Solo i superutenti possono creare nuovi utenti" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Immagine Remota" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -688,7 +693,7 @@ msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "In attesa" @@ -722,7 +727,7 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -833,7 +838,7 @@ msgstr "Build order output completato" msgid "Build order output rejected" msgstr "Ordine di costruzione rifiutato" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" @@ -881,7 +886,7 @@ msgstr "Rimborso" msgid "Reject" msgstr "Rifiuta" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Database sconosciuto" @@ -933,58 +938,58 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opzionale" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allocato" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Disponibile" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Ordine di Produzione" msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Riferimento" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Articolo" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "Completato da" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Priorità di questo ordine di produzione" msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Crea oggetto" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Installa in" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:171 +#: 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:175 +#: 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:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 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:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Posizione" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Stato" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:511 +#: build/serializers.py:512 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:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Rimuovi Giacenze Allocate" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Detrai qualsiasi scorta che è stata già assegnata a questa produzione" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:962 +#: build/serializers.py:980 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:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Questa produzione era in scadenza il %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "In ritardo" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Outputs Completati" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Inviato da" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Priorità" @@ -1892,8 +1902,8 @@ msgstr "Risorse di magazzino" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Destinazione" @@ -1907,11 +1917,11 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Lotto" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Creato" @@ -1931,7 +1941,7 @@ msgstr "Nessuna data di destinazione impostata" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Completato" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Ordina articoli richiesti" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Ordine Articoli" @@ -2143,1468 +2153,1477 @@ msgstr "Nome dominio non valido: {domain}" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "giorni" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1407 +#: common/models.py:1419 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:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1413 +#: common/models.py:1425 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:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1419 +#: common/models.py:1431 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:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1425 +#: common/models.py:1437 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:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Modello" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1443 +#: common/models.py:1455 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:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" -#: common/models.py:1449 +#: common/models.py:1461 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:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1542 +#: common/models.py:1554 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:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1550 +#: common/models.py:1562 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:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1558 +#: common/models.py:1570 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:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1581 +#: common/models.py:1593 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:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 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:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1604 +#: common/models.py:1616 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:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1657 +#: common/models.py:1669 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:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1678 +#: common/models.py:1690 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:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1711 +#: common/models.py:1723 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:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1838 +#: common/models.py:1850 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:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1845 +#: common/models.py:1857 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:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1851 +#: common/models.py:1863 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:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 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:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2072 +#: common/models.py:2092 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:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2147 +#: common/models.py:2167 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:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2298 +#: common/models.py:2318 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:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2325 +#: common/models.py:2345 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:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prezzo" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Attivo" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Segreto" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Host" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Intestazione" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Contenuto" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Letto" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "File immagine" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "Articoli importati" msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Sito Web" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefono" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contatto" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "è un cliente" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "è un fornitore" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "è un produttore" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Azienda" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Valore" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unità" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Nota" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "costo base" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "multiplo" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" @@ -4196,17 +4215,17 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Cliente" @@ -4214,7 +4233,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Nessuna informazione sul fornitore disponibile" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4620,7 +4639,9 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Abilitato" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Sconosciuto" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Restituisci ordine" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Creato Da" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "ricevuto da" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "spedito da" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Contesto" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "eliminato" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordine" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1495 +#: order/models.py:1511 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:1500 +#: order/models.py:1516 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:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 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:1855 +#: order/models.py:1871 msgid "Line" msgstr "Linea" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Elemento" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:402 -msgid "Order is not open" -msgstr "L'ordine non è aperto" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "L'ordine non è aperto" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 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:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Riferimento Cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome Articolo" @@ -5740,20 +5777,20 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5778,11 +5815,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5801,21 +5838,21 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID principale" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Nome Principale" @@ -5824,9 +5861,10 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Percorso Categoria" msgid "Parts" msgstr "Articoli" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Livello Distinta Base" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "ID Elemento Distinta Base" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Valido" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Categoria" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5904,7 +5995,7 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5919,7 +6010,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Keywords predefinite" msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Icona" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:145 +#: part/models.py:147 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:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "È Template" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Categoria" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:987 +#: part/models.py:991 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:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Data" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Report" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3418 +#: part/models.py:3438 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:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3477 +#: part/models.py:3496 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:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3484 +#: part/models.py:3503 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:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Dati" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Livello" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3994 +#: part/models.py:4013 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:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 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:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4300 +#: part/models.py:4319 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:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4365 +#: part/models.py:4384 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:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:432 +#: part/serializers.py:462 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:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 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:1048 +#: part/serializers.py:1078 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:1058 +#: part/serializers.py:1088 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:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Quantità Totale" @@ -6965,11 +7077,6 @@ msgstr "Cancella categoria" msgid "Top level part category" msgstr "Categoria articolo di livello superiore" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Sottocategorie" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Articoli (incluse le sottocategorie)" @@ -7040,7 +7147,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Inventario" @@ -7274,7 +7381,7 @@ msgstr "L'articolo non è attivo" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inattivo" @@ -7402,7 +7509,7 @@ msgstr "Varianti" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -7448,7 +7555,7 @@ msgstr "Modifica" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "Il plugin è attivo" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installato" @@ -8055,21 +8170,21 @@ msgstr "Plugin" msgid "Method" msgstr "Metodo" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "Il fornitore è stato eliminato" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Totale" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Risultato" @@ -8416,7 +8531,7 @@ msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Seriale" @@ -8473,7 +8588,7 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installato In" @@ -8498,493 +8613,523 @@ msgstr "Revisione Necessaria" msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 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" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Esterno" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Si tratta di una posizione esterna al magazzino" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantità deve essere 1 per elementi con un numero di serie" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Nome Test" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Note del test" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, 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:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Sottoallocazioni" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 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:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 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:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9009,7 +9154,7 @@ msgstr "Dati di Test" msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Elimina Dati di Test" @@ -9025,15 +9170,15 @@ msgstr "Note Elemento di magazzino" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Conta giacenza" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Aggiungi giacenza" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Rimuovi giacenza" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Trasferisci giacenza" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Assegna al cliente" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Cancella elemento di magazzino" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Produzione" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Quantità Disponibile" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "Nessun inventario eseguito" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "Proprietario Posizione" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Non sei nell'elenco dei proprietari di questa posizione. Questa posizione di giacenza non può essere modificata." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Sottoallocazioni" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" @@ -9329,20 +9468,20 @@ msgstr "Crea nuova posizione di magazzino" msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Impostazioni Plugin" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Plugin" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installa Plugin" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Plugin Errore Stack" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Stage" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Messaggio" @@ -9722,7 +9861,7 @@ msgstr "Percorso d'installazione" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Integrato" @@ -9732,7 +9871,7 @@ msgstr "Questo è un plugin integrato che non può essere disabilitato" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Esempio" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Conferma l'indirizzo e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Conferma" @@ -10523,7 +10662,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -10537,7 +10676,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:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Chiudi" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Esistono errori nel modulo" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index a54c926820a5..a34a2db4186b 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:42\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "値がありません" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "エラーの詳細は管理者パネルで確認できます" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "メモ" @@ -127,42 +132,42 @@ msgstr "指定されたメールドメインは承認されていません。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "この値からHTMLタグを削除" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -427,13 +432,13 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "ユーザー" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "説明" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "説明 (オプション)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -688,7 +693,7 @@ msgstr "InvenTree システムのヘルスチェックに失敗しました" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "処理待ち" @@ -722,7 +727,7 @@ msgstr "返品済" msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -833,7 +838,7 @@ msgstr "組立注文の出力が完了しました" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "オプション" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "組立注文" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "組立注文" msgid "Build Orders" msgstr "組立注文" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "パーツ" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "組立状況" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "外部リンク" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "数量" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "ステータス" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "注文必須パーツ" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "パーツの注文" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "外部URLからの画像ダウンロードを許可する" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "外部URL画像の最大サイズ" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "テンプレート" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "販売可能" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "連絡先メールアドレス" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "製造元" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "仕入先" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "顧客" @@ -4214,7 +4233,7 @@ msgstr "顧客" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "在庫商品" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "外部ページへのリンク" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "パーツ" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "カテゴリ" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" @@ -5919,7 +6010,7 @@ msgstr "パーツカテゴリ" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "カテゴリ" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "カテゴリを削除" msgid "Top level part category" msgstr "トップレベルのパーツカテゴリ" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "サブカテゴリ" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "パーツ (サブカテゴリを含む)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "組立" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "確認" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "このパーツを表示するには、次のリンクをクリックしてください" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "最小在庫" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 589a5602d82a..b4217b4cc164 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint 없음" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "이 모델을 볼 수 있는 권한이 없습니다." -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} 을 {unit} 으로 전환할 수 없음." -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "오류 세부 정보는 관리자 패널에서 찾을 수 있습니다." msgid "Enter date" msgstr "날짜 입력" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "메모" @@ -127,42 +132,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "중국어 (번체)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "존재하지 않는 파일" msgid "Missing external link" msgstr "존재하지 않는 외부 링크" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "링크" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -427,13 +432,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "사용자" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "이름" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "설명" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "설명 (선택 사항)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "지원하지 않는 파일 형식" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "파일에서 발견된 세로열 없음." -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "파일에서 발견된 가로열 없음" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "데이터 가로열이 제공되지 않음" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "데이터 세로열이 제공되지 않음" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "사라진 필수 세로열: {name}" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "원격 이미지 파일의 URL" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "원격 URL 에서 이미지 다운로드가 활성화되지 않음" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Background worker 확인 실패" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "보류" @@ -722,7 +727,7 @@ msgstr "" msgid "In Progress" msgstr "진행 중" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "외부 링크" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "수량" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "위치" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "상태" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "회사명" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "판매 가능" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "이미지" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "회사 소개" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "웹사이트" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "회사 웹사이트 URL" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "전화번호" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "회사" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "고객" @@ -4214,7 +4233,7 @@ msgstr "고객" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "바코드" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "데이터" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "단가" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "메시지" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "확인" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 52de943c16db..a2863f864b4d 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Geen waarde opgegeven" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} kon niet worden omgezet naar {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Ongeldige hoeveelheid ingegeven" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ongeldige hoeveelheid ingegeven ({exc})" @@ -51,26 +56,26 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Opmerkingen" @@ -127,42 +132,42 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplicaat serienummer" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Verwijder HTML tags van deze waarde" @@ -331,7 +336,7 @@ msgstr "Chinees (traditioneel)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -427,13 +432,13 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Gebruiker" @@ -474,13 +479,13 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Pad" @@ -576,104 +581,104 @@ msgstr "Serverfout" 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:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -688,7 +693,7 @@ msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Bezig" @@ -722,7 +727,7 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -833,7 +838,7 @@ msgstr "Product voltooid" msgid "Build order output rejected" msgstr "Build order uitvoer afgewezen" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" @@ -881,7 +886,7 @@ msgstr "Restitutie" msgid "Reject" msgstr "Afwijzen" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Optioneel" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Beschikbaar" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Productieorder" msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referentie" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Onderdeel" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "voltooid door" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Externe Link" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Prioriteit van deze bouwopdracht" msgid "Project Code" msgstr "Project Code" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Bouw object" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Bouw object" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:171 +#: 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:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Locatie" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Verminder alle voorraad die al is toegewezen aan deze productie" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Deze productie was verwacht op %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Achterstallig" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Voltooide Uitvoeren" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Verkooporder" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Uitgegeven door" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioriteit" @@ -1892,8 +1902,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Bestemming" @@ -1907,11 +1917,11 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Batch" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Gecreëerd" @@ -1931,7 +1941,7 @@ msgstr "Geen doeldatum ingesteld" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Voltooid" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Vereiste onderdelen bestellen" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -2143,1468 +2153,1477 @@ msgstr "Ongeldige domeinnaam: {domain}" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Migraties in behandeling" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "dagen" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Bevestiging vereist" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Vereis expliciete bevestiging van de gebruiker voor bepaalde actie." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1407 +#: common/models.py:1419 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:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Component" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1518 +#: common/models.py:1530 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:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1526 +#: common/models.py:1538 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:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Bepaalt standaard gedrag wanneer een voorraaditem is uitgeput" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Verplicht patroon voor het genereren van Retour Order referentie veld" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Toon niet-gevalideerde BOM's" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2298 +#: common/models.py:2318 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:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Standaard sjabloon product onderdeel" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Standaard sjabloon voorraad onderdeel" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Standaard label van voorraadlocatie" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Prijs" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Actief" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Geheim" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Host" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Koptekst" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Gelezen" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "Geïmporteerde onderdelen" msgid "Previous Step" msgstr "Vorige Stap" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Website" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contact" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "is klant" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "is leverancier" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "is fabrikant" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Bedrijf" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Waarde" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Eenheden" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Opmerking" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "basisprijs" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "meerdere" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Klant" @@ -4214,7 +4233,7 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Geen leveranciersinformatie beschikbaar" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4620,7 +4639,9 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Ingeschakeld" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "ontvangen door" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Context" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Order" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Zending" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Regel" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikel" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" -msgstr "Order is niet open" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "Order is niet open" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Klantreferentie" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Onderdeel naam" @@ -5740,20 +5777,20 @@ msgstr "Onderdeel naam" msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "Onderdelen" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standaard locatie" @@ -5904,7 +5995,7 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -5919,7 +6010,7 @@ msgstr "Onderdeel Categorieën" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Datum" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "Categorie verwijderen" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Stukprijs" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Totaal" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Sublocaties" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Voorraad tellen" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Voorraad overzetten" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Product" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Sublocaties" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" @@ -9329,20 +9468,20 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Bericht" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Bevestigen" @@ -10523,7 +10662,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Sluit" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 8d14b2be9042..85b4c6f91204 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Ingen verdi angitt" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ugyldig mengde oppgitt ({exc})" @@ -51,26 +56,26 @@ msgstr "Feildetaljer kan finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Notater" @@ -127,42 +132,42 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent." msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Duplisert serienummer" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppesekvens {group} overskrider tillatt antall ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Ugyldig gruppesekvens: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Antall unike serienumre ({len(serials)}) må samsvare med antallet ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tagger fra denne verdien" @@ -331,7 +336,7 @@ msgstr "Kinesisk (tradisjonell)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Logg inn på appen" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -427,13 +432,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Bruker" @@ -474,13 +479,13 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Sti" @@ -576,104 +581,104 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Du har ikke tillatelse til å endre denne brukerrollen." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Bare superbrukere kan opprette nye brukere" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Din konto er opprettet." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Eksternt bilde" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -688,7 +693,7 @@ msgstr "InvenTree's-systemets helsesjekker mislyktes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ventende" @@ -722,7 +727,7 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Skill ut fra overordnet artikkel" msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" @@ -833,7 +838,7 @@ msgstr "Produksjonsartikkel fullført" msgid "Build order output rejected" msgstr "Produksjonsartikkel avvist" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Brukt av produksjonsordre" @@ -881,7 +886,7 @@ msgstr "Refusjon" msgid "Reject" msgstr "Avvis" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Ukjent database" @@ -933,58 +938,58 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Valgfritt" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Spores" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Tilgjengelig" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Produksjonsordre" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Produksjonsordre" msgid "Build Orders" msgstr "Produksjonsordrer" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referanse" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Del" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "fullført av" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Produksjonsordrens prioritet" msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Produksjonsobjekt" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Antall" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Plassering" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Fjern tildelt lagerbeholdning" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trekk fra all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Denne produksjonsordren forfalt %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Forfalt" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Fullførte byggeresultater" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Salgsordre" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Utstedt av" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioritet" @@ -1892,8 +1902,8 @@ msgstr "Lagerkilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige plasseringer." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Destinasjon" @@ -1907,11 +1917,11 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Batch" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Opprettet" @@ -1931,7 +1941,7 @@ msgstr "Ingen måldato satt" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Fullført" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Bestill nødvendige deler" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Bestill deler" @@ -2143,1468 +2153,1477 @@ msgstr "Ugyldig domenenavn: {domain}" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Omstart kreves" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Ventende migrasjoner" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Antall ventende databasemigreringer" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Oppdateringsintervall for valuta" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "dager" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Valutaoppdaterings-plugin" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Valgt valutaoppdaterings-plugin" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Streng URL-validering" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Krev skjemaspesifikasjon ved validering av URLer" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Krev bekreftelse" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Tredybde" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1413 +#: common/models.py:1425 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:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mal" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Sammenstilling" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/models.py:1518 +#: common/models.py:1530 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:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1526 +#: common/models.py:1538 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:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Bestemmer standard oppførsel når en lagervare er oppbrukt" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Påkrevd mønster for å generere returordrereferansefelt" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1797 +#: common/models.py:1809 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:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 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:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte stykklister" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Standard etikettmal for del" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "Etikettmalen for del som velges automatisk" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Standard etikettmal for lagervare" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "Etikettmalen for lagervare som velges automatisk" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Standard etikettmal for lagerplassering" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "Etikettmalen for lagerplassering som velges automatisk" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Pris" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktiv" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Sjetong" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Vert" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Tittel" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Les" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Bildefil" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Enhetsdefinisjon" @@ -3774,273 +3793,273 @@ msgstr "Deler importert" msgid "Previous Step" msgstr "Forrige trinn" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Nettside" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Kontaktpunkt" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "er kunde" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "er leverandør" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "er produsent" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Velg selskap" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Adressetittel" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Tittel som beskriver addressen" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Hovedadresse" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Sett som hovedadresse" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linje 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Adresselinje 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linje 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Adresselinje 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Poststed/område" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Postnummerets by/område" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Delstat/provins" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Delstat eller provins" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Adressens land" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Notater til transportør" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Notater for transportør" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Interne fraktnotater" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Fraktnotater for internt bruk" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Velg del" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Verdi" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Enheter" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "Pakkeenhetene må være komptible med delens basisenhet" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "Pakkeenhet må være mer enn null" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Leverandør" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Notat" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Emballasje" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:854 +#: company/models.py:859 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:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "flere" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" @@ -4196,17 +4215,17 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Kunde" @@ -4214,7 +4233,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Adresser" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Leverandørdel" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU-kode" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Lagervarer" @@ -4620,7 +4639,9 @@ msgstr "Etikett" msgid "Label template file" msgstr "Etikett-malfil" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktivert" @@ -4676,48 +4697,48 @@ msgstr "QR-kode" msgid "QR code" msgstr "QR-kode" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ukjent" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Total pris" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Returordre" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Selskapsadresse for denne ordren" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Leverandørens ordrereferanse" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "mottatt av" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Forsendelsesdato" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "sendt av" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige forsendelser" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Linjereferanse" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Linjenotater" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Kontekst" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "slettet" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordre" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Mottatt" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Linje" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikkel" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" @@ -5190,139 +5211,155 @@ msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:402 -msgid "Order is not open" -msgstr "Ordren er ikke åpen" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "Ordren er ikke åpen" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1633 +#: order/serializers.py:1655 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:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Valuta for linje" @@ -5507,9 +5544,9 @@ msgstr "Duplikatvalg" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Innkjøpsordreartikler" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Kundereferanse" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Delnavn" @@ -5740,20 +5777,20 @@ msgstr "Delnavn" msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5778,11 +5815,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5801,21 +5838,21 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "Overordnet ID" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Overordnet navn" @@ -5824,9 +5861,10 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Sti til kategori" msgid "Parts" msgstr "Deler" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "BOM-nivå" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "BOM artikkel-ID" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Makspris" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av en produksjonsordre" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Lagervarer påkrevd for produksjonsordre" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Gyldig" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategori" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Standard plassering" @@ -5904,7 +5995,7 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -5919,7 +6010,7 @@ msgstr "Delkategorier" msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Standard nøkkelord" msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:145 +#: part/models.py:147 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:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, 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:548 +#: part/models.py:550 #, 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:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Delnavn" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategori" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Delkategori" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Antall" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Dato" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Rapport" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3477 +#: part/models.py:3496 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:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3484 +#: part/models.py:3503 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:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Valg" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Data" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Nivå" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3994 +#: part/models.py:4013 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:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4365 +#: part/models.py:4384 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:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:432 +#: part/serializers.py:462 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:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1038 +#: part/serializers.py:1068 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:1048 +#: part/serializers.py:1078 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:1058 +#: part/serializers.py:1088 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:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, 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:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Totalt Antall" @@ -6965,11 +7077,6 @@ msgstr "Slett Kategori" msgid "Top level part category" msgstr "Toppnivå delkategori" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Underkategorier" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Deler (inkludert underkategorier)" @@ -7040,7 +7147,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Lagertelling" @@ -7274,7 +7381,7 @@ msgstr "Delen er ikke aktiv" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inaktiv" @@ -7402,7 +7509,7 @@ msgstr "Varianter" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -7448,7 +7555,7 @@ msgstr "Rediger" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Sist oppdatert" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" @@ -7664,7 +7771,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:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "Gir støtte for å skanne TME-strekkoder" msgid "The Supplier which acts as 'TME'" msgstr "Leverandøren som fungerer som \"TME\"" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "Installasjon av utvidelse vellykket" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Installerte utvidelsen til {path}" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "Er utvidelsen aktiv" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Installert" @@ -8055,21 +8170,21 @@ msgstr "Utvidelse" msgid "Method" msgstr "Metode" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Ingen forfatter funnet" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Utvidelsen krever minst versjon {v}" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Utvidelsen krever maks versjon {v}" @@ -8338,7 +8453,7 @@ msgstr "Leverandør ble slettet" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Enhetspris" @@ -8351,17 +8466,17 @@ msgstr "Ekstra linjeelementer" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Testresultater" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Resultat" @@ -8416,7 +8531,7 @@ msgstr "Installerte artikler" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Serienummer" @@ -8473,7 +8588,7 @@ msgstr "Leverandørnavn" msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Installert i" @@ -8498,493 +8613,523 @@ msgstr "Gjennomgang kreves" msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Utløpsdato" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:893 +#: stock/api.py:921 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:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "Lagerplasseringstype" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "Lagerplasseringstyper" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Standard ikom for alle plasseringer som ikke har satt et ikon (valgfritt)" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Lagerplassering" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Eier" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Velg eier" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagervarer kan ikke knyttes direkte mot en strukturell lagerplassering, men kan knyttes mot underplasseringer." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Ekstern" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Dette er en ekstern lagerplassering" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Plasseringstype" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "Lagerplasseringstype for denne plasseringen" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer allerede er plassert i den!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Deltype ('{self.supplier_part.part}') må være {self.part}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "Antall må være 1 for produkt med et serienummer" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Serienummeret kan ikke angis hvis antall er større enn 1" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "Elementet kan ikke tilhøre seg selv" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "Elementet må ha en produksjonsrefereanse om is_building=True" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Produksjonsreferanse peker ikke til samme del-objekt" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Overordnet lagervare" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Basisdel" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Er denne artikkelen montert i en annen artikkel?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Lagerantall" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Kildeproduksjon" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Brukt av" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "Produksjonsordren som brukte denne lagervaren" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Kildeinnkjøpsordre" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Innkjøpsordre for denne lagervaren" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Tildelt Salgsordre" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Slett når oppbrukt" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Slett lagervaren når beholdningen er oppbrukt" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Innkjøpspris per enhet på kjøpstidspunktet" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1807 +#: stock/models.py:1873 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:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Testnavn" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Testnotater" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:215 +#: stock/serializers.py:267 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:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Underplasseringer" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -9009,7 +9154,7 @@ msgstr "Testdata" msgid "Test Report" msgstr "Testrapport" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Slett testdata" @@ -9025,15 +9170,15 @@ msgstr "Notater for lagervare" msgid "Installed Stock Items" msgstr "Installerte lagervarer" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Installer lagervare" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Slett alle testresultater for denne lagervaren" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Lagerjusteringshandlinger" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Tell beholdning" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Legg til lagerbeholdning" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Fjern lagerbeholdning" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Serialiser lager" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Overfør lagerbeholdning" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Tilordne til kunde" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Slett lagervare" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Produksjon" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Tilgjengelig antall" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Ingen plassering satt" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "Ingen lagertelling utført" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "Plasseringens Eier" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Du er ikke i listen over eiere av denne plasseringen. Denne lagerplasseringen kan ikke redigeres." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Underplasseringer" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Opprett ny lagerplassering" @@ -9329,20 +9468,20 @@ msgstr "Opprett ny lagerplassering" msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Innstillinger for Utvidelser" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Endring av innstillingene nedenfor krever at du umiddelbart starter serveren på nytt. Ikke endre under aktiv bruk." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Utvidelser" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installer Utvidelse" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Last utvidelser på nytt" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Eksterne utvidelser er ikke aktivert for denne InvenTree-installasjonen" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Utvidelse feilstack" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Stadium" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Melding" @@ -9722,7 +9861,7 @@ msgstr "Installasjonssti" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Innebygd" @@ -9732,7 +9871,7 @@ msgstr "Dette er en innebygd utvidelse som ikke kan deaktiveres" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Eksempel" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Startside" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Bekreft e-postadresse" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Vennligst bekreft at %(email)s er ne e-postadresse for bruker %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Bekreft" @@ -10523,7 +10662,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Antall som kreves" @@ -10537,7 +10676,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:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Lukk" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Skjemafeil eksisterer" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Angi søkeord" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index b19d9665e6a1..c99a143c7e4b 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nie podano wartości" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nie udało się przeliczyć {original} na {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Podano nieprawidłową ilość" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Niepoprawna ilość ({exc})" @@ -51,26 +56,26 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Uwagi" @@ -127,42 +132,42 @@ msgstr "Podany e-mail domeny nie został zatwierdzony." msgid "Registration is disabled." msgstr "Rejestracja jest wyłączona." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Podwójny numer seryjny" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Nieprawidłowy zakres grupy: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Zakres grupy {group} przekracza dozwoloną ilość ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nieprawidłowa kolejność grup: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Liczba unikalnych numerów seryjnych ({len(serials)}) musi odpowiadać ilości ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" @@ -292,7 +297,7 @@ msgstr "Rosyjski" #: InvenTree/locales.py:39 msgid "Slovak" -msgstr "" +msgstr "Słowacki" #: InvenTree/locales.py:40 msgid "Slovenian" @@ -329,9 +334,9 @@ msgstr "chiński (tradycyjny)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Logowanie do aplikacji" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -340,7 +345,7 @@ msgstr "Adres E-Mail" #: InvenTree/models.py:107 msgid "Error running plugin validation" -msgstr "" +msgstr "Błąd podczas walidacji wtyczki" #: InvenTree/models.py:162 msgid "Metadata must be a python dict object" @@ -386,7 +391,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -427,13 +432,13 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Użytkownik" @@ -468,19 +473,19 @@ msgstr "Błąd zmiany nazwy pliku" #: InvenTree/models.py:847 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" #: InvenTree/models.py:864 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (opcjonalny)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Ścieżka" @@ -576,104 +581,104 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Nie masz uprawnień do zmiany tej roli użytkownika." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Tylko superużytkownicy mogą tworzyć nowych użytkowników" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." -msgstr "" +msgstr "Twoje konto zostało utworzone." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Zresetuj hasło" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Witamy w InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Obrazek zewnętrzny" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -688,7 +693,7 @@ msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "W toku" @@ -722,7 +727,7 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "W trakcie" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -833,7 +838,7 @@ msgstr "Dane wyjściowe kolejności kompilacji ukończone" msgid "Build order output rejected" msgstr "Odrzucono wynik zlecenia produkcji" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" @@ -881,7 +886,7 @@ msgstr "Zwrot pieniędzy" msgid "Reject" msgstr "Odrzuć" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Nieznana baza danych" @@ -933,58 +938,58 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcjonalne" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Śledzony" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Dostępne" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Zlecenie Budowy" msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" -msgstr "" +msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referencja" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Komponent" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Priorytet tego zamówienia produkcji" msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Usuń przydzielone zasoby" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Odejmij wszystkie zasoby, które zostały już przypisane do tej produkcji" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Zaległe" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Dodane przez" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Priorytet" @@ -1892,8 +1902,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Przeznaczenie" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Partia" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Utworzony" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Zakończone" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Zamów komponent" @@ -2143,1468 +2153,1477 @@ msgstr "Niepoprawna nazwa domeny: {domain}" msgid "No plugin" msgstr "Brak wtyczki" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Oczekujące migracje" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Liczba oczekujących migracji bazy danych" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Nazwa instancji serwera" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Interwał aktualizacji waluty" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "dni" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Wtyczka aktualizacji waluty" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Limit rozmiaru pobierania" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Ścisła weryfikacja adresu URL" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Wymagaj potwierdzenia" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Wymagaj wyraźnego potwierdzenia dla określonych działań." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Głębokość drzewa" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Częstotliwość sprawdzania aktualizacji" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Automatyczna kopia zapasowa" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Interwał automatycznego tworzenia kopii zapasowych" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Interwał usuwania zadań" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Szablon" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Komponent" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1797 +#: common/models.py:1809 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:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1811 +#: common/models.py:1823 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:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1845 +#: common/models.py:1857 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:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Cena" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktywny" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Sekret" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Zawartość" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "Poprzedni krok" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Strona WWW" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Kontakt" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "jest klientem" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Wartość" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Jednostki" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Uwaga" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Klient" @@ -4214,7 +4233,7 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Towary" @@ -4620,7 +4639,9 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktywne" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Nie znaleziono pasującego zlecenia zakupu" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "odebrane przez" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Odebrane" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Linia" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Komponent" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Pozycje zlecenia zakupu" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5740,20 +5777,20 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5801,21 +5838,21 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Ścieżka kategorii" msgid "Parts" msgstr "Części" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Nadchodzące zlecenie zakupu" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Ważny" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategoria" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5919,7 +6010,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:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Domyślne słowa kluczowe" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategoria" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1018 +#: part/models.py:1022 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:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Data" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Dane" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Poziom" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "Usuń kategorię" msgid "Top level part category" msgstr "Kategoria najwyższego poziomu" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Podkategorie" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Części (w tym podkategorie)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Nieaktywny" @@ -7402,7 +7509,7 @@ msgstr "Warianty" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Zainstalowane" @@ -8055,21 +8170,21 @@ msgstr "Wtyczka" msgid "Method" msgstr "Metoda" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Nie znaleziono autora" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Razem" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Wynik" @@ -8416,7 +8531,7 @@ msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Numer seryjny" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Zainstalowane w" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Wyszukaj zlecenie zakupu" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Zlecenie zakupu dla tego towaru" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Nazwa testu" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Podlokalizacje" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Przelicz stan magazynowy" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Usuń stan magazynowy" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Budowa" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Podlokalizacje" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Wtyczki" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instaluj wtyczkę" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Błąd stosu wtyczki" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Etap" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Wiadomość" @@ -9722,7 +9861,7 @@ msgstr "Ścieżka instalacji" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Potwierdź adres e-mail" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Potwierdź" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Zamknij" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Istnieją błędy formularza" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 392c30c01cb9..9b294602307e 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nenhum valor fornecido" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Quantidade fornecida inválida" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Quantidade fornecida inválida ({exc})" @@ -51,26 +56,26 @@ msgstr "Detalhes do erro podem ser encontrados no painel de administrador" msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Anotações" @@ -127,42 +132,42 @@ msgstr "O domínio de e-mail providenciado não foi aprovado." msgid "Registration is disabled." msgstr "Cadastro está desativado." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Número serial em branco" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Número de série duplicado" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Intervalo de grupo inválido: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Sequência de grupo inválida:{group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nenhum número de série foi encontrado" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 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})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Remova as \"tags\" HTML deste valor" @@ -331,7 +336,7 @@ msgstr "Chinês (Tradicional)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Entre no aplicativo" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -340,7 +345,7 @@ msgstr "Email" #: InvenTree/models.py:107 msgid "Error running plugin validation" -msgstr "" +msgstr "Erro ao executar validação do plugin" #: InvenTree/models.py:162 msgid "Metadata must be a python dict object" @@ -386,7 +391,7 @@ msgstr "Arquivo ausente" msgid "Missing external link" msgstr "Link externo não encontrado" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link para URL externa" @@ -427,13 +432,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Usuario" @@ -474,13 +479,13 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Descrição (opcional)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Caminho" @@ -576,104 +581,104 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Não tem permissões para alterar este papel do usuário." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Apenas superusuários podem criar novos usuários" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." -msgstr "" +msgstr "Sua conta foi criada." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 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:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Bem-vindo(a) ao InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Nome do arquivo" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Imagens Remota" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" @@ -688,7 +693,7 @@ msgstr "Verificação de saúde do sistema InvenTree falhou" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Pendente" @@ -722,7 +727,7 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Separado do Item Paternal" msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Itens de estoque mesclados" @@ -833,7 +838,7 @@ msgstr "Criação do pedido de produção completado" msgid "Build order output rejected" msgstr "Saída do pedido de produção rejeitada" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Usado no pedido de produção" @@ -881,7 +886,7 @@ msgstr "Reembolsar" msgid "Reject" msgstr "Recusar" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Banco de dados desconhecido" @@ -933,58 +938,58 @@ msgstr "Sobre o InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Consumível" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcional" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Monitorado" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Alocado" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Disponível" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Ondem de Produção" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Ondem de Produção" msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Peça da ordem de produção não pode ser alterada" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referência" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Breve descrição da produção (opcional)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Pedido de produção para qual este serviço está alocado" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Peça" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Venda para qual esta produção está alocada" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:222 +#: build/models.py:225 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)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "Concluído por" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Responsável" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para este pedido de produção" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Link Externo" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Prioridade deste pedido de produção" msgid "Project Code" msgstr "Código do projeto" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Código do projeto para este pedido de produção" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Objeto de produção" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1373 +#: build/models.py:1381 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" -#: build/models.py:1382 +#: build/models.py:1390 #, 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})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:171 +#: 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" -#: build/serializers.py:175 +#: 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" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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" -#: build/serializers.py:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 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" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Local" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Motivo para sucatear saída(s) de produção" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Situação" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Remover Estoque Alocado" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Subtrair qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:641 +#: build/serializers.py:653 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" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:657 +#: build/serializers.py:669 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" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:673 +#: build/serializers.py:685 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" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:790 +#: build/serializers.py:802 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" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:859 +#: build/serializers.py:871 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" -#: build/serializers.py:866 +#: build/serializers.py:878 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" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:947 +#: build/serializers.py:965 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)" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Estoque Alocado" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "No pedido" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" 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:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Essa produção expirou em %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Expirou" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Saídas Concluídas" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Emitido por" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Prioridade" @@ -1892,8 +1902,8 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Destino" @@ -1907,11 +1917,11 @@ msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Criado" @@ -1931,7 +1941,7 @@ msgstr "Sem data alvo definida" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Concluído" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Pedir peças necessárias" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Pedir Peças" @@ -2143,1468 +2153,1477 @@ msgstr "Nome de domínio inválido: {domain}" msgid "No plugin" msgstr "Sem extensão" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Reinicialização necessária" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Migrações pendentes" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Número de migrações pendentes na base de dados" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Nome da Instância do Servidor" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Descritor de frases para a instância do servidor" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Usar nome da instância" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Usar o nome da instância na barra de título" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Restringir a exibição 'sobre'" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Mostrar 'sobre' modal apenas para superusuários" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Nome da empresa" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Nome interno da Empresa" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "URL de Base" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "URL Base da instância do servidor" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Moeda Padrão" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Selecione a moeda base para cálculos de preços" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Intervalo de Atualização da Moeda" -#: common/models.py:1269 +#: common/models.py:1281 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)" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "dias" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Extensão de Atualização de Moeda" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "Extensão de Atualização de Moeda a utilizar" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Baixar do URL" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Limite de tamanho para baixar" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Maior tamanho de imagem remota baixada permitida" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "Usuário-agente utilizado para baixar da URL" -#: common/models.py:1299 +#: common/models.py:1311 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)" -#: common/models.py:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Validação rigorosa de URL" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Exigir especificação de esquema ao validar URLs" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Exigir confirmação" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Exigir confirmação explícita do usuário para uma certa ação." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Profundidade da árvore" -#: common/models.py:1318 +#: common/models.py:1330 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." -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Atualizar Intervalo de Verificação" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "Frequência para verificar atualizações (defina como zero para desativar)" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Cópia de Segurança Automática" -#: common/models.py:1332 +#: common/models.py:1344 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" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Intervalo de Backup Automático" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Especificar o número de dia entre as cópias de segurança" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Intervalo para Excluir da Tarefa" -#: common/models.py:1346 +#: common/models.py:1358 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" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Intervalo para Excluir do Registro de Erro" -#: common/models.py:1355 +#: common/models.py:1367 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" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Intervalo para Excluir de Notificação" -#: common/models.py:1364 +#: common/models.py:1376 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" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Suporte aos códigos de barras" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "Ativar suporte a leitor de código de barras na interface web" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Atraso na entrada de código de barras" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Tempo de atraso de processamento de entrada de barras" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Suporte a código de barras via Câmera" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escanear código de barras por câmera pelo navegador" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Revisões de peças" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisão para a Peça" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Padrão de expressão regular adequado para Peça IPN" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Permitir Duplicação IPN" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que várias peças compartilhem o mesmo IPN" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Permitir Edição IPN" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Copiar dados da LDM da Peça" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar dados da LDM por padrão quando duplicar a peça" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Copiar Dados de Parâmetro da Peça" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Copiar Dados Teste da Peça" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "Copiar dados de teste por padrão quando duplicar a peça" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Copiar Parâmetros dos Modelos de Categoria" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Modelo" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Montagem" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Componente" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Comprável" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Vendível" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Rastreável" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtual" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Peças são virtuais por padrão" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Mostrar Importações em Visualizações" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Exibir o assistente de importação em algumas visualizações de partes" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Mostra peças relacionadas" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Mostrar peças relacionadas para uma peça" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Dados Iniciais de Estoque" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" -#: common/models.py:1498 +#: common/models.py:1510 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" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Formato de Exibição do Nome da Peça" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formato para exibir o nome da peça" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "Ícone de Categoria de Peça Padrão" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Forçar Unidades de Parâmetro" -#: common/models.py:1518 +#: common/models.py:1530 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" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/models.py:1526 +#: common/models.py:1538 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" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/models.py:1534 +#: common/models.py:1546 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" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/models.py:1566 +#: common/models.py:1578 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" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/models.py:1589 +#: common/models.py:1601 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" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Preços Internos" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/models.py:1604 +#: common/models.py:1616 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" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/models.py:1618 +#: common/models.py:1630 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" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Tamanho da página" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Ativar Relatórios Teste" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Ativar geração de relatórios de teste" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Anexar Relatórios de Teste" -#: common/models.py:1650 +#: common/models.py:1662 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" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1697 +#: common/models.py:1709 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" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Devolução" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1751 +#: common/models.py:1763 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" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1773 +#: common/models.py:1785 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" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1789 +#: common/models.py:1801 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" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Pedidos de Compra" -#: common/models.py:1797 +#: common/models.py:1809 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" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1824 +#: common/models.py:1836 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" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1838 +#: common/models.py:1850 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" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Grupo ao qual novos usuários são atribuídos no registro" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1878 +#: common/models.py:1890 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" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" -msgstr "" +msgstr "Verificar por atualizações de plugin" -#: common/models.py:1887 +#: common/models.py:1899 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:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Habilitar códigos de projeto" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Ativar códigos de projeto para rastrear projetos" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:1936 +#: common/models.py:1948 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" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Excluir Locais Externos" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:1952 +#: common/models.py:1964 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)" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:1960 +#: common/models.py:1972 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" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Mostrar nomes completos dos usuários" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Mostrar estoque baixo" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar itens de estoque necessários para produções na tela inicial" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:2139 +#: common/models.py:2159 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" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:2155 +#: common/models.py:2175 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" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "Não incluir peças inativas na janela de visualização de pesquisa" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:2199 +#: common/models.py:2219 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" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2259 +#: common/models.py:2279 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" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2267 +#: common/models.py:2287 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" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "A posição do Navbar é fixa no topo da tela" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2325 +#: common/models.py:2345 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)" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Modelo de rótulo padrão da peça" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Modelo padrão de item de estoque" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "O modelo de rótulo do item a ser selecionado automaticamente" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Modelo de rótulo de localização do estoque padrão" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" -msgstr "" +msgstr "Últimas máquinas de impressão utilizadas" -#: common/models.py:2368 +#: common/models.py:2388 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:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Preço" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Ativo" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Token" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Segredo" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Servidor" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Corpo" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Id" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Lida" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definição" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Definição de unidade" @@ -3774,273 +3793,273 @@ msgstr "Peças importadas" msgid "Previous Step" msgstr "Passo Anterior" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Descrição da empresa" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Descrição da empresa" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Página Web" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "URL do Site da empresa" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Número de telefone" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Número de telefone do contato" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Contato" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Ponto de contato" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "é cliente" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Você vende itens para esta empresa?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "é fornecedor" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Você compra itens desta empresa?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "é fabricante" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Esta empresa fabrica peças?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Selecione a Empresa" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Título do endereço" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Título descrevendo a entrada de endereço" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Endereço Principal" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Definir como endereço principal" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linha 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Linha de endereço 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linha 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Linha de endereço 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Código Postal" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Cidade/Região" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Código Postal Cidade / Região" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Estado/Provincia" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Estado ou Província" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "País" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "País do endereço" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Notas de envio da transportadora" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Notas para o envio da transportadora" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Notas de envio interno" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Notas de envio para uso interno" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Peça base" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "NPF" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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" -#: company/models.py:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Valor" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Unidades" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:720 +#: company/models.py:725 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" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "Unidades de pacote deve ser maior do que zero" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Anotação" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "preço base" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Embalagem" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:854 +#: company/models.py:859 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." -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "múltiplo" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" @@ -4196,17 +4215,17 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Cliente" @@ -4214,7 +4233,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usar moeda padrão" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Endereços" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Nenhuma informação do fornecedor está disponível" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "Código (SKU)" @@ -4561,12 +4580,12 @@ msgstr "Atualizar Disponibilidade de Peças" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4602,7 +4621,7 @@ msgstr "Nova Empresa" #: label/api.py:247 msgid "Error printing label" -msgstr "" +msgstr "Erro ao imprimir etiqueta" #: label/models.py:115 msgid "Label name" @@ -4620,7 +4639,9 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Habilitado" @@ -4676,48 +4697,48 @@ msgstr "Código QR" msgid "QR code" msgstr "Código QR" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconhecido" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Preço Total" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Nenhum pedido de compra correspondente encontrado" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Devolver pedido" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 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)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:286 +#: order/models.py:287 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." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Criado por" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "recebido por" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "enviado por" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1279 +#: order/models.py:1284 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)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Contexto" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "excluído" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Pedido" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Recebido" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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" -#: order/models.py:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Linha" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Item" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" @@ -5190,139 +5211,155 @@ msgstr "Gastos para reparar e/ou devolver esta linha de itens" msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:427 +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 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" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -5507,9 +5544,9 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Itens do Pedido de Compra" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Referência do Cliente" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Nome da Peça" @@ -5740,20 +5777,20 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revisão" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Palavras chave" @@ -5778,11 +5815,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5801,21 +5838,21 @@ msgstr "Usado em" msgid "Building" msgstr "Produzindo" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID Paternal" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Nome Paternal" @@ -5824,9 +5861,10 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Caminho da Categoria" msgid "Parts" msgstr "Peças" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Nível da LDM" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "ID Item LDM" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN da Peça" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Estoque produzido pelo Pedido de Produção" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Válido" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Categoria" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Local Padrão" @@ -5904,7 +5995,7 @@ msgstr "Estoque Total" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5919,7 +6010,7 @@ msgstr "Categorias de Peça" msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Palavras-chave Padrão" msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ícone" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:145 +#: part/models.py:147 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!" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, 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)" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corresponder ao padrão regex {pattern}" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Categoria" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Data" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Reportar" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Dados" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Nível" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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" -#: part/models.py:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 part/templates/part/category.html:122 +#: part/templates/part/category.html:207 +#: part/templates/part/category_sidebar.html:7 +msgid "Subcategories" +msgstr "Sub-categorias" + +#: part/serializers.py:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Nenhuma parte selecionada" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Selecionar categoria" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, 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}" -#: part/serializers.py:1273 +#: part/serializers.py:1303 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" -#: part/serializers.py:1276 +#: part/serializers.py:1306 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" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Quantidade Total" @@ -6965,11 +7077,6 @@ msgstr "Excluir Categoria" msgid "Top level part category" msgstr "Categoria de peça de nível superior" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Sub-categorias" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Peças (incluindo subcategorias)" @@ -7040,7 +7147,7 @@ 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:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Balanço" @@ -7274,7 +7381,7 @@ msgstr "Peça inativa" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Inativo" @@ -7402,7 +7509,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -7448,7 +7555,7 @@ msgstr "Editar" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Última atualização" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" @@ -7664,7 +7771,7 @@ msgstr "Código de barras não corresponde a item de estoque válido" msgid "Stock item does not match line item" msgstr "Item do estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Estoque insuficiente disponível" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "Fornece suporte para escanear códigos de barras TME" msgid "The Supplier which acts as 'TME'" msgstr "O fornecedor que atua como 'TME'" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "Plugin instalado com sucesso" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Plugin instalado na {path}" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "O plug-in está ativo" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Instalado" @@ -8055,21 +8170,21 @@ msgstr "Extensões" msgid "Method" msgstr "Método" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, 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}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -8338,7 +8453,7 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Preço unitário" @@ -8351,17 +8466,17 @@ msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Teste" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Resultado" @@ -8416,7 +8531,7 @@ msgstr "Itens instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Série" @@ -8473,7 +8588,7 @@ msgstr "Nome do Fornecedor" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Instalado em" @@ -8498,493 +8613,523 @@ msgstr "Revisão Necessária" msgid "Delete on Deplete" msgstr "Excluir quando esgotado" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "Árvore de Peças" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "Data de validade antes" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Inativo" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:893 +#: stock/api.py:921 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" -#: stock/api.py:924 +#: stock/api.py:952 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" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "Tipo de Local de estoque" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "Tipos de Locais de estoque" -#: stock/models.py:89 +#: stock/models.py:90 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)" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Localização do estoque" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Locais de estoque" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Responsavel" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Selecionar Responsável" -#: stock/models.py:166 +#: stock/models.py:167 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." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Externo" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Esta é uma localização de estoque externo" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Tipo de localização" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "Tipo de Local de Estoque para esta locação" -#: stock/models.py:253 +#: stock/models.py:254 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!" -#: stock/models.py:623 +#: stock/models.py:626 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!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Item de estoque não pode ser criado para peças virtuais" -#: stock/models.py:670 +#: stock/models.py:673 #, 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}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 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" -#: stock/models.py:683 +#: stock/models.py:686 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" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "O item não pode pertencer a si mesmo" -#: stock/models.py:712 +#: stock/models.py:715 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" -#: stock/models.py:725 +#: stock/models.py:728 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" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Item de Estoque Parental" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Peça base" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Este item está instalado em outro item?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Quantidade de Estoque" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Produção de Origem" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "Pedido de produção que consumiu este item de estoque" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Pedido de compra Fonte" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Pedido de Compra para este item de estoque" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Destino do Pedido de Venda" -#: stock/models.py:883 +#: stock/models.py:888 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" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Excluir quando esgotado" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Excluir este item de estoque quando o estoque for esgotado" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Preço de compra unitário único no momento da compra" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1477 +#: stock/models.py:1482 #, 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})" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Números de série devem ser uma lista de números inteiros" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1807 +#: stock/models.py:1873 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" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Nome de teste" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Notas do teste" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Número de série é muito grande" -#: stock/serializers.py:215 +#: stock/serializers.py:267 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" -#: stock/serializers.py:328 +#: stock/serializers.py:380 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" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, 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})" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Campo opcional de notas" -#: stock/serializers.py:438 +#: stock/serializers.py:490 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" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "Quantidade a Instalar" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "Insira a quantidade de itens a instalar" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "A quantidade para instalar deve ser pelo menos 1" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Item de estoque indisponível" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "Peça selecionada não está na Lista de Materiais" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "Quantidade a instalar não deve exceder a quantidade disponível" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "Peça selecionada não é uma opção válida para conversão" -#: stock/serializers.py:641 +#: stock/serializers.py:693 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" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Local de destino para item retornado" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "Selecionar itens de estoque para mudar estados" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Sub-locais" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "Código de estado do item estoque" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" @@ -9009,7 +9154,7 @@ msgstr "Dados de teste" msgid "Test Report" msgstr "Relatório do teste" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Excluir dados de teste" @@ -9025,15 +9170,15 @@ msgstr "Notas de Item Estoque" msgid "Installed Stock Items" msgstr "Itens de Estoque Instalados" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Instalar Item de Estoque" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Excluir todos os resultados de teste deste item de estoque" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "Adicionar Resultado de Teste" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" 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:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Contagem de estoque" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Adicionar estoque" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Remover estoque" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Serializar estoque" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Transferir estoque" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Disponibilizar para o cliente" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Excluir item de estoque" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Produção" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Quantidade Disponível" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Nenhum local definido" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "item de estoque" @@ -9315,12 +9460,6 @@ msgstr "Dono do Local" 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." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Sub-locais" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Criar novo local de estoque" @@ -9329,20 +9468,20 @@ msgstr "Criar novo local de estoque" msgid "New Location" msgstr "Novo local" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "local de estoque" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "Escaneado o recipiente de estoque neste local" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "Código QR do Local de Estoque" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "Ligar Código de barras ao Local de Estoque" @@ -9650,36 +9789,36 @@ msgstr "Configurações da Extensão" 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." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Extensões" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instalar extensão" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Recarregar plugins" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 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" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Erro da Pilha da Extensão" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Fase" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Mensagem" @@ -9722,7 +9861,7 @@ msgstr "Caminho de instalação" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Embutido" @@ -9732,7 +9871,7 @@ 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:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Amostra" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "Taxa" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "Nenhum código de projetos encontrado" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "grupo" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Página Inicial" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Confirmar endereço de e-mail" 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." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Confirmar" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" 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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Quantidade Requerida" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "Clique no link abaixo para ver esta peça" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Quantidade Mínima" @@ -10775,7 +10914,7 @@ msgstr "Dados da Linha" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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" @@ -10892,7 +11031,7 @@ msgstr "Carregar BOM para a submontagem" msgid "Substitutes Available" msgstr "Substitutos Disponíveis" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "Estoque de variantes permitido" @@ -10912,26 +11051,26 @@ msgstr "Preços da BOM estão incompletos" msgid "No pricing available" msgstr "Nenhum preço disponível" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "Nenhum Estoque Disponível" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "Incluir estoque de variantes e substitutos" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "Incluir estoque de variantes" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "Incluir estoque de substitutos" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Itens consumíveis" @@ -10963,7 +11102,7 @@ msgstr "Ver BOM" msgid "No BOM items found" msgstr "Nenhum item da BOM encontrado" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Peça Requerida" @@ -11132,7 +11271,7 @@ msgstr "Deletar Saída de Produção" msgid "No build order allocations found" msgstr "Nenhuma alocação de pedido de produção encontrada" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "Quantidade Alocada" @@ -11164,175 +11303,175 @@ msgstr "saídas da produção" msgid "Build output actions" msgstr "Ações da saída de produção" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "Nenhuma saída de produção ativa encontrada" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "Linhas Alocadas" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "Testes Obrigatórios" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Selecionar Peças" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Você deve selecionar ao menos uma peça para alocar" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Especifique a quantidade de alocação de estoque" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "Todas as Peças Alocadas" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "Todas as peças selecionadas foram completamente alocadas" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 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)" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "Alocar Itens de Estoque para o Pedido de Produção" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nenhum local de estoque correspondente" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "Nenhum item de estoque correspondente" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "Alocação Automática de Estoque" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 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" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 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" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 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" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 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" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "Alocar Itens de Estoque" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "Nenhuma produção corresponde a consulta" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "Selecionar" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "Pedido de produção está atrasada" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "Progresso" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "Sem informações de usuário" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "Editar alocação de estoque" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "Excluir alocação de estoque" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "Editar Alocação" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "Remover Alocação" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "linha de produção" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "linhas de produção" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "Nenhuma linha produção encontrada" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Peça rastreável" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Quantidade Unitária" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "Estoque suficiente disponível" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "Item Consumível" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "Item rastreado" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Estoque de produção" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "Pedir Estoque" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Alocar Estoque" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "Remover alocação de estoque" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "Adicionar Fornecedor" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "Adicionar Peça do Fornecedor" @@ -11619,61 +11758,61 @@ msgstr "Limpar todos os filtros" msgid "Create filter" msgstr "Criar filtro" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "Operação de criação não permitida" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "Operação de atualização não permitida" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "Operação de excluir não permitida" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "Operação de visualização não permitida" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "Manter este formulário aberto" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "Insira um número válido" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Há erros de formulário" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "Nenhum resultado encontrado" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "Limpar entrada" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "Coluna de arquivos" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "Nome do Campo" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "Selecionar Colunas" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "Apagar Linha" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "Nenhum item de linha encontrado" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "Copiar Lista de Materiais (BOM)" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Estoque baixo" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "Excluir Modelo de Parâmetro de Peça" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "Nenhum pedido de compra encontrado" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "Este item de linha está atrasado" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "Receber item de linha" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "Nenhuma categoria" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "Visualizar como lista" @@ -12162,7 +12301,7 @@ msgstr "Exibir como grade" msgid "No subcategories found" msgstr "Nenhuma subcategoria encontrada" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "Exibir como árvore" @@ -12174,60 +12313,64 @@ msgstr "Carregar Subcategorias" msgid "Subscribed category" msgstr "Categoria inscrita" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "Nenhum modelo de teste corresponde à consulta" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "Editar resultados de teste" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "Excluir resultado do teste" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "Este teste é definido para uma peça parental" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "Editar Modelo de Resultado de Teste" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "Excluir Modelo de Resultado de Teste" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "Nenhuma data especificada" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "Data especificada está no passado" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "Especulativo" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "Nenhuma informação de agendamento para esta peça" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "Erro ao obter informações de agendamento para esta peça" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "Quantidades de Estoque Agendadas" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "Quantidade Máxima" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "Nível Mínimo de Estoque" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "Seriais" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "Código do Pedido" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "Quantidade a Receber" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "Confirmar o recebimento dos itens" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "Receber Itens do Pedido de Compra" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "Escanar o Código de Barras do Item" -#: templates/js/translated/purchase_order.js:1399 +#: 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)" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "Dados do código de barras inválido" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "O pedido está atrasado" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Itens" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "Todos os Itens de Linha selecionadas serão excluídos" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "Excluir itens de linha selecionados?" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "Duplicar Item de Linha" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Inserir entrada de pesquisa" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "Quantidade não pode ser ajustada para estoque serializado" msgid "Specify stock quantity" msgstr "Especifique quantidade no estoque" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "Selecionar Itens de Estoque" @@ -13046,248 +13189,248 @@ msgstr "FALHOU" msgid "NO RESULT" msgstr "SEM RESULTADO" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "Passou no teste" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "Adicionar resultado de teste" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "Nenhum resultado de teste encontrado" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "Data do Teste" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "Editar Resultado do Teste" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "Excluir Resultado do Teste" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "Em produção" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "Instalado em Item de Estoque" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "Atribuir para o Pedido de Venda" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "Sem local de estoque definido" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "Mudar estado do estoque" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "Mesclar estoque" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "Excluir estoque" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "itens de estoque" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "Escanear para local" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "Ações de Estoque" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "Carregar itens instalados" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "Detalhes" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "Nenhuma mudança" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "Adicionado" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "Removido" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "Nenhum item instalado" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 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" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "Incluir subcategorias" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "Inscrito" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "Código do lote" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "Peças Ativas" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 68ab9f7807c2..f5a5f0948e77 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Значение не указано" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Недопустимое количество" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Недопустимое количество ({exc})" @@ -51,26 +56,26 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Записи" @@ -127,42 +132,42 @@ msgstr "Указанный домен электронной почты не у msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Повторяющийся серийный номер" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Недопустимый диапазон группы: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Диапазон группы {group} превышает допустимое количество ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Неверная последовательность групп: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Удалить HTML теги из этого значения" @@ -331,7 +336,7 @@ msgstr "Китайский (Традиционный)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Войти в приложение" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -427,13 +432,13 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Пользователь" @@ -474,13 +479,13 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Название" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Описание (необязательно)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Путь" @@ -576,104 +581,104 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "У вас недостаточно прав для изменения роли этого пользователя." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Только суперпользователи могут создавать новых пользователей" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Ваша учётная запись была успешно создана." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Добро пожаловать в InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Удаленное изображение" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -688,7 +693,7 @@ msgstr "Ошибка проверки состояния системы InvenTre #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Ожидаемый" @@ -722,7 +727,7 @@ msgstr "Возвращено" msgid "In Progress" msgstr "Выполняется" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Объединенные складские позиции" @@ -833,7 +838,7 @@ msgstr "Продукция заказа на производство завер msgid "Build order output rejected" msgstr "Продукция заказа на производство отклонена" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Поглощен заказом на производство" @@ -881,7 +886,7 @@ msgstr "Возврат" msgid "Reject" msgstr "Отклонить" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Неизвестная база данных" @@ -933,58 +938,58 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Необязательно" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Доступно" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Заказ на производство" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Заказ на производство" msgid "Build Orders" msgstr "Заказы на производство" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Отсылка" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Заказ на производство, которому принад #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Заказ на производство, которому принад #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Заказ на производство, которому принад #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Деталь" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "выполнено" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Создано" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Приоритет этого заказа на производство msgid "Project Code" msgstr "Код проекта" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Объект производства" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Объект производства" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Количество" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Выбранная складская позиция не соответ #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Установить в" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Целевая складская позиция" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Расположение" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Статус" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, если запасы не были полностью распределены" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Удалить зарезервированный запас" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Вычесть запасы, которые уже были зарезервированы для этого производства" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Зарезервированные Запасы" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Остатки не были полностью зарезервированы для этого заказа на производство" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Производство было просрочено на %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Просрочено" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Завершенная продукция" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Заказ на продажу" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Создано" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Приоритет" @@ -1892,8 +1902,8 @@ msgstr "Источник запаса" msgid "Stock can be taken from any available location." msgstr "Остатки не могут быть получены из любого доступного места хранения." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Назначение" @@ -1907,11 +1917,11 @@ msgstr "Зарезервированные детали" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Партия" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Создано" @@ -1931,7 +1941,7 @@ msgstr "Нет конечной даты" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Завершённые" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Заказать детали" @@ -2143,1468 +2153,1477 @@ msgstr "Недопустимое доменное имя: {domain}" msgid "No plugin" msgstr "Нет плагина" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "Настройки были изменены, что требует перезапуска сервера" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Ожидаемые миграции" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Количество ожидаемых миграций базы данных" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Название сервера" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Текстовое описание сервера" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Название инстанса" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "Имя сервера в заголовке" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Ограничить отображение `О...`" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "Показать `О...` только суперпользователям" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Название компании" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Выберите базовую валюту для расчета цены" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "дней" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Плагин обновления валют" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "Строгая проверка URL-адреса" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "Требуется спецификация схемы при проверке URL-адресов" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Требуется подтверждение" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Требовать явное подтверждение пользователя для определенного действия." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Глубина дерева" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Глубина дерева по умолчанию для просмотра дерева. Глубокие уровни загружены по мере необходимости." -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Интервал резервного копирования" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Ревизия детали" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Шаблон" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Производимая деталь" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Компонент" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Размер страницы" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Шаблон складской позиции по умолчанию" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "Шаблон метки складской позиции для автоматического выбора" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Цена" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Активный" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Токен" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Секрет" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Хост" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Заголовок" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Тело" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "Код" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Читать" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "Детали импортированы" msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Описание компании" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Сайт" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Телефон" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Контакт" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "покупатель" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "поставщик" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "производитель" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Компания" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Выберите компанию" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Заголовок адреса" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Строка 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Адресная строка 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Строка 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Адресная строка 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Почтовый индекс" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Город/Регион" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Регион/Область" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Страна" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Страна адреса" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Записи отправления" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Записи для курьера" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Внутренние записи отправления" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Записи отправления для внутреннего пользования" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Значение" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Ед.изм" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Единицы измерения параметра" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Выберите производителя части" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Запись" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Упаковка детали" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Кол-во в упаковке" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "множественные" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Кратность заказа" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "Удалить изображение" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Покупатель" @@ -4214,7 +4233,7 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Адреса" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Складские позиции" @@ -4620,7 +4639,9 @@ msgstr "Метка" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Включено" @@ -4676,48 +4697,48 @@ msgstr "QR Код" msgid "QR code" msgstr "QR код" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Неизвестно" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Заказ на возврат" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Создал" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Ссылка на заказ" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "получил" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Дата отгрузки" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "Отправлено" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Количество" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Записи о позиции" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Описание позиции (необязательно)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Контекст" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "удалено" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Заказ" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Получено" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "Строка" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Элемент" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Результат" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" -msgstr "Заказ не открыт" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "Заказ не открыт" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Валюта цены закупки" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "Дублировать выбранное" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Позиции заказа на закупку" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Наименование детали" @@ -5740,20 +5777,20 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5801,21 +5838,21 @@ msgstr "Используется в" msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID родителя" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Имя родителя" @@ -5824,9 +5861,10 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Путь к категории" msgid "Parts" msgstr "Детали" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Уровень BOM" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "ID Элемента BOM" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Остатки произведенные заказом на производство" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Остатки требуемые для заказов на производство" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Корректный" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Категория" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5904,7 +5995,7 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5919,7 +6010,7 @@ msgstr "Категория детали" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Ключевые слова по умолчанию" msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Иконка" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Иконка (необязательно)" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Категория" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Категория" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Дата" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Отчет" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Варианты" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Данные" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Уровень" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Общее количество" @@ -6965,11 +7077,6 @@ msgstr "Удалить категорию" msgid "Top level part category" msgstr "Категория детали верхнего уровня" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Подкатегории" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Детали (включая подкатегории)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Инвентаризация" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Неактивный" @@ -7402,7 +7509,7 @@ msgstr "Разновидности" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -7448,7 +7555,7 @@ msgstr "Редактировать" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Последнее обновление" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "Штрих-код не соответствует существующи msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Установлено" @@ -8055,21 +8170,21 @@ msgstr "Плагин" msgid "Method" msgstr "Метод" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Цена за Единицу" @@ -8351,17 +8466,17 @@ msgstr "Дополнительные элементы" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Всего" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Результаты тестирования" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Тестирование" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Результат" @@ -8416,7 +8531,7 @@ msgstr "Установленные элементы" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Серийный номер" @@ -8473,7 +8588,7 @@ msgstr "Имя поставщика" msgid "Customer ID" msgstr "ID Клиента" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Установлено в" @@ -8498,493 +8613,523 @@ msgstr "Требуется рецензия" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Истекает" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Владелец" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Выберите владельца" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Складские позиции не могут находиться в структурных местах хранения, но могут находиться в дочерних местах хранения." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Внешний" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Тип Места Хранения" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Вы не можете сделать это место хранение структурным, потому, что некоторые складские позиции уже находятся в нем!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "Элемент должен иметь ссылку на производство, если is_building=True" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Ссылка на производство не указывает на тот же элемент" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Складская позиция" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Выберите соответствующего поставщика детали для этой складской позиции" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Количество на складе" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Исходное производство" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Производства для этой складской позиции" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Поглощен" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "Заказ на производство, который поглотил эту складскую позицию" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Заказ на закупку для этой складской позиции" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Дата истечения срока годности для складской позиции. Остатки будут считаться просроченными после этой даты" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту складскую позицию при обнулении складского запаса" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" -msgstr "Дублировать складские позиции" +msgstr "Дублировать складские позиции\n" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "Название теста" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Места хранения" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -9009,7 +9154,7 @@ msgstr "Данные тестов" msgid "Test Report" msgstr "Отчет тестирования" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Удалить данные тестирования" @@ -9025,15 +9170,15 @@ msgstr "Записи складской позиции" msgid "Installed Stock Items" msgstr "Установленные складские позиции" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Установить складскую позицию" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Удалить все результаты тестирования для этой складской позиции" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "Добавить Результат Тестирования" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Установить запасы" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Добавить Остатки" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Удалить запасы" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Сериализовать запасы" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Переместить запасы" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Удалить складскую позицию" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Производство" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Доступный запас" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Место хранения не установлено" @@ -9219,9 +9364,9 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" -msgstr "складская позиция" +msgstr "складская позиция\n" #: stock/templates/stock/item_base.html:532 msgid "Edit Stock Status" @@ -9257,7 +9402,7 @@ msgstr "Вернуть на склад" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "Создать сериализированные позиции из этой складской позиции" +msgstr "Создать сериализированные позиции из этой складской позиции\n" #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." @@ -9315,12 +9460,6 @@ msgstr "Ответственный за место хранения" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Места хранения" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Создать новое место хранения" @@ -9329,20 +9468,20 @@ msgstr "Создать новое место хранения" msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "места хранения" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Настройки плагинов" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Плагины" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Установить плагины" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Перезагрузить плагины" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Стадия" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Сообщения" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Встроенный" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Образец" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "группа" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Подтверждение адреса электронной почт msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Подтвердить" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Требуемое кол-во" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -10725,7 +10864,7 @@ msgstr "" #: templates/js/translated/barcode.js:687 msgid "Stock Item already scanned" -msgstr "Складская позиция уже просканирована" +msgstr "Складская позиция уже просканирована\n" #: templates/js/translated/barcode.js:691 msgid "Stock Item already in this location" @@ -10775,7 +10914,7 @@ msgstr "Данные строк" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Закрыть" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Расходник" @@ -10963,7 +11102,7 @@ msgstr "Просмотр BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Необходимая деталь" @@ -11132,7 +11271,7 @@ msgstr "Удалить Продукцию" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "Зарезервированное количество" @@ -11164,175 +11303,175 @@ msgstr "продукция" msgid "Build output actions" msgstr "Действия с продукцией" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "Активная продукция не найдена" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "Зарезервированные Строки" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "Требуемые тесты" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Выбрать детали" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Выберите место хранения - источник (оставьте пустым, чтобы взять из всех мест)" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "Зарезервировать складские позиции для этого заказа на производства" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "Нет совпадающих складских позиций" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Складские позиции будут автоматически зарезервированы на этот заказ на производстве, в соответствии с указанными рекомендациями" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "Зарезервировать Складские Позиции" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "Выбрать" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "Прогресс" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "Редактировать Резерв" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "строка производства" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "позиция производства" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Количество единиц" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "Расходник" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "Отслеживаемый элемент" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Запасы производства" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "Заказать запасы" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Зарезервировать Остатки" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "Добавить поставщика" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "Создать фильтр" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Форма содержит ошибки" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "Результаты не найдены" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "Поиск" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "Очистить ввод" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "Столбец Файла" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "Имя Поля" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "Выбрать столбцы" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "Удалить Строку" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "Низкий запас" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "Нет категории" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "Отобразить списком" @@ -12162,7 +12301,7 @@ msgstr "Отобразить сеткой" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "Отобразить древом" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "Категория с подпиской" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "результаты" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "Редактировать результаты тестирования" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "Приблизительный" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "Максимальное количество" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "Статус Запасов" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "Добавить штрихкод" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "Удалить штрихкод" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "Выберите место хранения" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "Добавить код партии" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "Серийные номера" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "Код Заказа" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Сканировать штрихкод входящего элемента (не должен совпадать с любой существующей складской позицией)" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Заказ просрочен" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Элементы" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "Редактировать Позицию" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "Удалить позицию" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "Редактировать Позицию" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Введите запрос для поиска" msgid "result" msgstr "результат" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "результаты" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -12920,11 +13063,11 @@ msgstr "" #: templates/js/translated/stock.js:555 msgid "Created new stock item" -msgstr "Создана новая складская позиция" +msgstr "Создана новая складская позиция\n" #: templates/js/translated/stock.js:568 msgid "Created multiple stock items" -msgstr "Создано несколько складских позиций" +msgstr "Создано несколько складских позиций\n" #: templates/js/translated/stock.js:593 msgid "Find Serial Number" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "Выбрать складские позиции" @@ -13046,248 +13189,248 @@ msgstr "ПРОВАЛЕН" msgid "NO RESULT" msgstr "НЕТ РЕЗУЛЬТАТА" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "Тест пройден" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "Добавить Результат Тестирования" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "Данные Тестирования" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "В производстве" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "Установленные складские позиции" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "Изменить статус запасов" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "Объединить Запасы" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "Удалить запасы" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "складские позиции" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "Действия с Запасами" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "Складская позиция в производстве" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "Складская позиция была назначена покупателю" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "Сериализированная складская позиция была зарезервирована " -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "Складские позиции были полностью зарезервированы" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "Складские позиции были частично зарезервированы" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "Складская позиция была установлена в другую деталь" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "Складская позиция была поглощена заказом на продажу" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "Складская позиция была просрочена" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "Складская позиция будет просрочена в скором времени" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "Складская позиция была отклонена" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "Складская позиция была утеряна" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "Складская позиция была уничтожена" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "Истощен" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "Кол-во Запаса" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "Нет складских позиций соответствующих запросу" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "места хранения" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "Подробности" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "Нет изменений" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "Складская позиция не существует" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "Добавлено" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "Удалено" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "Снять складскую позицию" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "Выберите складскую позицию для съема" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "Установить другую складскую позицию в эту деталь" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Складские позиции могут быть установлены, только если отвечают следующим критериям" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Складская позиция ссылается на деталь, чья спецификация является этой складской позицией" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "Складская позиция сейчас доступна на складе" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "Складская позиция не установлена в другую деталь" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Складская позиция отслеживается либо по коду партии, либо серийному номеру" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "Выберите одну или более складских позиций" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "Выбранные складские позиции" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "Изменить статус запасов" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "Статус заказа" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "Невыполненный" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "Назначено мне" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "Имеет цену" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "Подписан" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "Код партии" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "Активная Деталь" @@ -13500,52 +13643,52 @@ msgstr "Тест Пройден" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "Статус Производства" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "Доступный запас" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "Имеет Ед. Изм." -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "Имеет IPN" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "В наличии" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "Можно купить" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "Имеет Варианты" diff --git a/InvenTree/locale/sk/LC_MESSAGES/django.po b/InvenTree/locale/sk/LC_MESSAGES/django.po index 55c8a7c09125..2d3879de88d4 100644 --- a/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:34\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "" @@ -127,42 +132,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -427,13 +432,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "" @@ -722,7 +727,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index da09935046c4..eaddeb251b7b 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Vrednost ni vnesena" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Ni mogoče pretvoriti {original} v {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Vnesena napačna količina" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Vnesena napačna količina ({exc})" @@ -51,26 +56,26 @@ msgstr "Napaka, podrobnosti vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Zapiski" @@ -127,42 +132,42 @@ msgstr "Domena epošte ni podprta." msgid "Registration is disabled." msgstr "Registracija je onemogočena." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Podana napačna količina" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Prazno polje serijske številke" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Dvojna serijska številka" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Neveljavni doseg skupine: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Doseg skupine {group} presega dovoljene količine ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nepravilno zaporedje skupine: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Serijske številke niso najdene" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Število unikatnih serijskih številk ({len(serials)}) se mora ujemati s količino ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Manjka datoteka" msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -427,13 +432,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Uporabnik" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (opcijsko)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Pot" @@ -576,104 +581,104 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -688,7 +693,7 @@ msgstr "Preverjanje zdravja sistema InvenTree neuspelo" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "V teku" @@ -722,7 +727,7 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Razdeljena od nadrejene postavke" msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Združena zaloga postavk" @@ -833,7 +838,7 @@ msgstr "Nalog za izgradnjo končan" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Nalog izgradnje" msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referenca" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Del" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "dokončal" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Izdal" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Količina" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:175 +#: 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:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Izdelava" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/sr/LC_MESSAGES/django.po b/InvenTree/locale/sr/LC_MESSAGES/django.po index 3ec099fd6c93..1db0cd950c87 100644 --- a/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Nije navedena vrednost" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Nije moguće konvertovati {original} u {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Isporučena nevažeća količina" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Isporučena nevažeća količina ({exc})" @@ -51,26 +56,26 @@ msgstr "Detalji o grešci se mogu naći u admin sekciji" msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Napomene" @@ -127,42 +132,42 @@ msgstr "Navedeni domen adrese e-pošte nije prihvaćen." msgid "Registration is disabled." msgstr "Registracija je onemogućena." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Serijski broj nije popunjen" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Dupliciraj serijski broj" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Nevažeći raspon grupe: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Raspon grupe {group} prelazi dozvoljenu količinu ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Nevažeća sekvenca grupe: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Nisu pronađeni serijski brojevi" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Broj jedinstvenih serijskih brojeva ({len(serials)}) mora odgovarati količini ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Uklonite HTML oznake iz ove vrednosti" @@ -331,7 +336,7 @@ msgstr "Kineski (Tradicionalni)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Nedostaje datoteka" msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Prilog" msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Link" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -427,13 +432,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Datoteka komentara" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Korisnik" @@ -474,13 +479,13 @@ msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Nevažeći izvor" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Opis (Opciono)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "nadređeni" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Putanja" @@ -576,104 +581,104 @@ msgstr "Greška servera" msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Nemate dozvolu za promenu ove korisničke uloge." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Samo superkorisnici mogu kreirati nove korisnike" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datoteka" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Odaberite datoteku za učitavanje" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Nije podržan tip datoteke" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Prevelika datoteka" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Nisu pronađene kolone podataka u datoteci" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Nisu pronađeni redovi podataka u datoteci" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Nisu navedeni redovi podataka" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Nisu obezbeđene kolone podataka" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Nedostaje potrebna kolona: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicirana kolona: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Udaljena slika" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL udaljene slike" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -688,7 +693,7 @@ msgstr "Provere integriteta sistema InvenTree nije uspela" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Na čekanju" @@ -722,7 +727,7 @@ msgstr "Vraćeno" msgid "In Progress" msgstr "U progresu" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Odvoj od nadređene stavke" msgid "Split child item" msgstr "Podeli podređenu stavku" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Spojene stavke zaliha" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Nalog za izradu" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Nalog za izradu" msgid "Build Orders" msgstr "Nalozi za izradu" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referenca" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 1d7171773217..9206768768aa 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Inget värde angivet" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Kunde inte konvertera {original} till {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Ogiltigt antal angivet" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Ogiltigt antal angivet ({exc})" @@ -51,26 +56,26 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Anteckningar" @@ -127,42 +132,42 @@ msgstr "Den angivna e-postdomänen är inte godkänd." msgid "Registration is disabled." msgstr "Registrering är stängd." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Serienummret finns redan" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" @@ -331,7 +336,7 @@ msgstr "Kinesiska (Traditionell)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -427,13 +432,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Användare" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Sökväg" @@ -576,104 +581,104 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Ditt konto har skapats." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Välkommen till InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -688,7 +693,7 @@ msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Väntar" @@ -722,7 +727,7 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -833,7 +838,7 @@ msgstr "Bygg orderutgång slutförd" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" @@ -881,7 +886,7 @@ msgstr "Återbetala" msgid "Reject" msgstr "Avvisa" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Okänd databas" @@ -933,58 +938,58 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Byggorder" msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referens" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Del" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "slutfört av" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Extern länk" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "Projektkod" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Antal" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Installera till" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Plats" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Status" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Försenad" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Utfärdad av" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Mål" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Skapad" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Slutförd" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Beställ obligatoriska delar" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Beställ delar" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "dagar" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Ladda ned från URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mall" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3686,7 +3705,7 @@ msgstr "" #: common/serializers.py:345 msgid "Scheduled Tasks" -msgstr "" +msgstr "Schemalagda uppgifter" #: common/serializers.py:351 msgid "Failed Tasks" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Webbplats" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Företag" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Välj företag" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Leverantör" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "Radera bild" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Kund" @@ -4214,7 +4233,7 @@ msgstr "Kund" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Adresser" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "Etikett" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "QR-kod" msgid "QR code" msgstr "QR-kod" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5190,139 +5211,155 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "Artiklar" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Kategori" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Ikon" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Kategori" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "Radera kategori" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "Underkategorier" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "Redigera" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Senast uppdaterad" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "Leverantörsnamn" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Bygg" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "Inga projektkoder hittades" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Bekräfta e-postadress" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Bekräfta" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "Rensa alla filter" msgid "Create filter" msgstr "Skapa filter" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "Inga resultat hittades" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "Söker" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "Ingen kategori" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "Inga underkategorier hittades" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "resultat" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "Lagerstatus" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "Lägg till streckkod" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12564,7 +12711,7 @@ msgstr "" #: templates/js/translated/report.js:140 msgid "No Reports Found" -msgstr "" +msgstr "Inga rapporter hittades" #: templates/js/translated/report.js:141 msgid "No report templates found which match the selected items" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "resultat" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "resultat" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,273 +13189,273 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "Inga ändringar" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" #: templates/js/translated/table_filters.js:74 msgid "Has project code" -msgstr "" +msgstr "Har projektkod" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 18f520298717..3847e9c327e1 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "หมายเหตุ" @@ -127,42 +132,42 @@ msgstr "" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "หมายเลขซีเรียลซ้ำกัน" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "ไม่พบหมายเลขซีเรียล" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "" @@ -331,7 +336,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "" @@ -427,13 +432,13 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "ผู้ใช้งาน" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "" @@ -540,7 +545,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "" @@ -576,104 +581,104 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "ชื่อไฟล์" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "" @@ -688,7 +693,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" @@ -722,7 +727,7 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "" @@ -833,7 +838,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "" msgid "Build Orders" msgstr "" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 4ea2d0523468..59e53a5907c6 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Değer verilmemiş" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "{original} birimi {unit} birimine dönüştürülemedi" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Geçersiz miktar sağlandı" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Geçersiz miktar sağlandı({exc})" @@ -51,26 +56,26 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Notlar" @@ -127,42 +132,42 @@ msgstr "Sağlanan e-posta alanı onaylanmadı." msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Yinelenen seri" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Geçersiz grup aralığı: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Grup aralığı {group}, izin verilen miktarı aşmaktadır ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Geçersiz grup aralığı: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Benzersiz seri numaralarının sayısı ({len(serials)}) ile miktarın ({expected_quantity}) eşleşmesi gerekmektedir" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Bu değerden HTML etiketlerini kaldır" @@ -331,7 +336,7 @@ msgstr "Çince (Geleneksel)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Uygulamaya giriş yap" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -427,13 +432,13 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Kullanıcı" @@ -474,13 +479,13 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Yol" @@ -576,104 +581,104 @@ msgstr "Sunucu Hatası" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -688,7 +693,7 @@ msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Bekliyor" @@ -722,7 +727,7 @@ msgstr "İade" msgid "In Progress" msgstr "Devam Ediyor" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -833,7 +838,7 @@ msgstr "Yapım emri çıktısı tamamlandı" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "" @@ -881,7 +886,7 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Mevcut" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Yapım İşi Emri" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Referans" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:191 +#: build/models.py:194 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:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Parça" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Veren" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:786 +#: build/models.py:789 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:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Konum" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Durum" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Vadesi geçmiş" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Veren" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "" @@ -1892,8 +1902,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Hedef" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Toplu" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Oluşturuldu" @@ -1931,7 +1941,7 @@ msgstr "Hedef tarih ayarlanmadı" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Tamamlandı" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Parça Siparişi" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "günler" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1397 +#: common/models.py:1409 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:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1401 +#: common/models.py:1413 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:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Şablon" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1443 +#: common/models.py:1455 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:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Bileşen" -#: common/models.py:1449 +#: common/models.py:1461 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:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Fiyat" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Aktif" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "İletişim" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "ÜPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Değer" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Not" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "çoklu" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Müşteri" @@ -4214,7 +4233,7 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4620,7 +4639,9 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Etkin" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "Parçalar" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,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:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Parça adı" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:866 +#: part/models.py:870 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:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1018 +#: part/models.py:1022 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:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 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:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 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:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: 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/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Parçalar (Alt kategoriler dahil)" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Pasif" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Seri No" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Alt konumlar" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bu konumun sahipleri listesinde değilsiniz. Bu stok konumu düzenlenemez." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Alt konumlar" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" @@ -9329,20 +9468,20 @@ msgstr "Yeni stok konumu oluştur" msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Onay" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Kapat" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 33c3d201e0f2..368122fad0db 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "Chưa cung cấp giá trị" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Không thể chuyển đổi {original} sang {unit}" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "Số lượng cung cấp không hợp lệ ({exc})" @@ -51,26 +56,26 @@ msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản tr msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "Ghi chú" @@ -127,42 +132,42 @@ msgstr "Miền email được cung cấp không được phê duyệt." msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "Chuỗi số sê-ri trống" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "Trùng lặp sê-ri" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "Phạm vi nhóm không hợp lệ: {group}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Khoảng nhóm {group} vượt cho phép số lượng ({expected_quantity})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "Thứ tự nhóm không hợp lệ: {group}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "Không tìm thấy số sê-ri" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "Số sê ri duy nhất ({len(serials)}) phải phù hợp số lượng ({expected_quantity})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "Xóa thẻ HTML từ giá trị này" @@ -331,7 +336,7 @@ msgstr "Tiếng Trung (Phồn thể)" msgid "[{site_name}] Log in to the app" msgstr "[{site_name}] Đăng nhập vào ứng dụng" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "Tập tin bị thiếu" msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -427,13 +432,13 @@ msgstr "Bình luận" msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "Người dùng" @@ -474,13 +479,13 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "Lựa chọn sai" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "thư mục cha" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "Đường dẫn" @@ -576,104 +581,104 @@ msgstr "Lỗi máy chủ" 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:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "Bạn không có quyền thay đổi vai trò của người dùng này." -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "Chỉ có siêu người dùng là có thể tạo người dùng mới" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "Tài khoản của bạn đã được tạo." -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "Chào mừng đến với InvenTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "Không tìm thấy dòng nào trong tệp tin" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "Hình ảnh từ xa" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 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:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -688,7 +693,7 @@ msgstr "Kiểm tra tình trạng hệ thống InvenTree thất bại" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "Đợi duyệt" @@ -722,7 +727,7 @@ msgstr "Đã trả lại" msgid "In Progress" msgstr "Đang tiến hành" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "Tách từ mục cha" msgid "Split child item" msgstr "Tách mục con" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "Kho hàng đã được gộp" @@ -833,7 +838,7 @@ msgstr "Đầu ra đơn đặt bản dựng đã hoàn thành" msgid "Build order output rejected" msgstr "Đầu ra đơn đặt bản dựng bị từ chối" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "Tiêu hao bởi đơn đặt bản dựng" @@ -881,7 +886,7 @@ msgstr "Hoàn tiền" msgid "Reject" msgstr "Từ chối" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "Không rõ cơ sở dữ liệu" @@ -933,58 +938,58 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Tuỳ chọn" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "Có sẵn" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "Tạo đơn hàng" msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:126 +#: build/models.py:127 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:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 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:191 +#: build/models.py:194 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:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ 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_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:213 +#: build/models.py:216 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:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:222 +#: build/models.py:225 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:227 +#: build/models.py:230 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:231 +#: build/models.py:234 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:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:244 +#: build/models.py:247 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:248 +#: build/models.py:251 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:273 +#: build/models.py:276 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:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:291 +#: build/models.py:294 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:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:300 +#: build/models.py:303 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:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "Độ quan trọng của đơn đặt bản dựng" msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:556 +#: build/models.py:559 #, 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:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:786 +#: build/models.py:789 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:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "Dựng đối tượng" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1373 +#: build/models.py:1381 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:1382 +#: build/models.py:1390 #, 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:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 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:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1465 +#: build/models.py:1473 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:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1551 +#: build/models.py:1559 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:1559 +#: build/models.py:1567 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "Kho hàng đích" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:171 +#: 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:175 +#: 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:179 +#: 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:190 +#: 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:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:268 +#: build/serializers.py:269 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:271 +#: build/serializers.py:272 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:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 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:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:301 +#: build/serializers.py:302 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:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 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:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 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:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:433 +#: build/serializers.py:434 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:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:511 +#: build/serializers.py:512 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:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "Xóa phân kho" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trừ số lượng bất kỳ kho nào được phân bổ đến bản dựng này" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:588 +#: build/serializers.py:600 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:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:616 +#: build/serializers.py:628 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:617 +#: build/serializers.py:629 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:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:641 +#: build/serializers.py:653 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:651 +#: build/serializers.py:663 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:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:657 +#: build/serializers.py:669 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:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 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:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:673 +#: build/serializers.py:685 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:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 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:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 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:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:740 +#: build/serializers.py:752 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:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:790 +#: build/serializers.py:802 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:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:859 +#: build/serializers.py:871 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:866 +#: build/serializers.py:878 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:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:947 +#: build/serializers.py:965 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:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:956 +#: build/serializers.py:974 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:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:962 +#: build/serializers.py:980 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:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:974 +#: build/serializers.py:992 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:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: 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:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựng này" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "Bản dựng đã đến hạn vào %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "Quá hạn" @@ -1841,8 +1851,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:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "Đầu ra hoàn thiện" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "Đơn đặt hàng" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "Phát hành bởi" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "Độ ưu tiên" @@ -1892,8 +1902,8 @@ msgstr "Nguồn kho" msgid "Stock can be taken from any available location." msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào." -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "Đích đến" @@ -1907,11 +1917,11 @@ msgstr "Sản phẩm đã phân bổ" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "Hàng loạt" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "Đã tạo" @@ -1931,7 +1941,7 @@ msgstr "Chưa đặt ngày mục tiêu" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "Đã hoàn thành" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "Đơn đặt yêu cầu sản phẩm" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "Đặt hàng sản phẩm" @@ -2143,1468 +2153,1477 @@ msgstr "Tên miền không hợp lệ: {domain}" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/models.py:1217 +#: common/models.py:1229 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:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "Chuyển dữ liệu chờ xử lý" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "Tên thực thể máy chủ" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "Sử dụng tên thực thể" -#: common/models.py:1237 +#: common/models.py:1249 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:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "Cấm hiển thị `giới thiệu`" -#: common/models.py:1243 +#: common/models.py:1255 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:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "Tên công ty" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "URL cơ sở" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "URL cơ sở cho thực thể máy chủ" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "Chọn tiền tệ chính khi tính giá" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "Tần suất cập nhật tiền tệ" -#: common/models.py:1269 +#: common/models.py:1281 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:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "ngày" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/models.py:1277 +#: common/models.py:1289 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:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/models.py:1284 +#: common/models.py:1296 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:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "Giới hạn kích thước tải xuống" -#: common/models.py:1291 +#: common/models.py:1303 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:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "User-agent được dùng để tải xuống theo URL" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "Yêu cầu xác nhận" -#: common/models.py:1311 +#: common/models.py:1323 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:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "Cấp độ cây" -#: common/models.py:1318 +#: common/models.py:1330 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:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/models.py:1325 +#: common/models.py:1337 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:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/models.py:1332 +#: common/models.py:1344 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:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/models.py:1338 +#: common/models.py:1350 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:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/models.py:1346 +#: common/models.py:1358 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:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/models.py:1355 +#: common/models.py:1367 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:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/models.py:1364 +#: common/models.py:1376 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:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/models.py:1372 +#: common/models.py:1384 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:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "Hỗ trợ mã vạch qua webcam" -#: common/models.py:1385 +#: common/models.py:1397 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:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "Phiên bản Sản phẩm" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/models.py:1397 +#: common/models.py:1409 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:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/models.py:1401 +#: common/models.py:1413 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:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/models.py:1407 +#: common/models.py:1419 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:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1413 +#: common/models.py:1425 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:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1419 +#: common/models.py:1431 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:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1425 +#: common/models.py:1437 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:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1431 +#: common/models.py:1443 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:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "Mẫu" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "Lắp ráp" -#: common/models.py:1443 +#: common/models.py:1455 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:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "Thành phần" -#: common/models.py:1449 +#: common/models.py:1461 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:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "Có thể theo dõi" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1479 +#: common/models.py:1491 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:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1485 +#: common/models.py:1497 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:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1491 +#: common/models.py:1503 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:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1498 +#: common/models.py:1510 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:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1511 +#: common/models.py:1523 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:1512 +#: common/models.py:1524 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:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1518 +#: common/models.py:1530 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:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/models.py:1526 +#: common/models.py:1538 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:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/models.py:1534 +#: common/models.py:1546 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:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/models.py:1542 +#: common/models.py:1554 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:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1550 +#: common/models.py:1562 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:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1558 +#: common/models.py:1570 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:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/models.py:1566 +#: common/models.py:1578 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:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1574 +#: common/models.py:1586 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:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/models.py:1581 +#: common/models.py:1593 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:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/models.py:1589 +#: common/models.py:1601 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:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1604 +#: common/models.py:1616 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:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1611 +#: common/models.py:1623 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:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1618 +#: common/models.py:1630 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:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/models.py:1631 +#: common/models.py:1643 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:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "Khổ giấy" -#: common/models.py:1637 +#: common/models.py:1649 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:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "Bật báo cáo kiểm thử" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "Cho phép tạo báo cáo kiểm thử" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "Đính kèm báo cáo kiểm thử" -#: common/models.py:1650 +#: common/models.py:1662 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:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1657 +#: common/models.py:1669 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:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "Nhận dạng hành vi mặc định khi hàng trong kho bị hết" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1678 +#: common/models.py:1690 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:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1697 +#: common/models.py:1709 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:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1705 +#: common/models.py:1717 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:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1711 +#: common/models.py:1723 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:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1717 +#: common/models.py:1729 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:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1722 +#: common/models.py:1734 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:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1729 +#: common/models.py:1741 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:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1736 +#: common/models.py:1748 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:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn hàng trả lại" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1751 +#: common/models.py:1763 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:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1759 +#: common/models.py:1771 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:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1766 +#: common/models.py:1778 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:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1773 +#: common/models.py:1785 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:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1781 +#: common/models.py:1793 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:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1789 +#: common/models.py:1801 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:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1805 +#: common/models.py:1817 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:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1811 +#: common/models.py:1823 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:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1824 +#: common/models.py:1836 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:1830 +#: common/models.py:1842 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:1831 +#: common/models.py:1843 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:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:1838 +#: common/models.py:1850 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:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:1845 +#: common/models.py:1857 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:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:1851 +#: common/models.py:1863 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:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:1858 +#: common/models.py:1870 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:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "Nhóm được gán cho người dùng mới khi đăng ký" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:1871 +#: common/models.py:1883 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:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:1878 +#: common/models.py:1890 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:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:1901 +#: common/models.py:1913 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:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:1915 +#: common/models.py:1927 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:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:1922 +#: common/models.py:1934 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:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:1936 +#: common/models.py:1948 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:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:1944 +#: common/models.py:1956 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:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:1952 +#: common/models.py:1964 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:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:1960 +#: common/models.py:1972 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:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:1968 +#: common/models.py:1980 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:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 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:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2023 +#: common/models.py:2043 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:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2036 +#: common/models.py:2056 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:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2042 +#: common/models.py:2062 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:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "Hiển thị BOM chưa được xác thực" -#: common/models.py:2048 +#: common/models.py:2068 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:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2054 +#: common/models.py:2074 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:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2060 +#: common/models.py:2080 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:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2066 +#: common/models.py:2086 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:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2072 +#: common/models.py:2092 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:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2078 +#: common/models.py:2098 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:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2114 +#: common/models.py:2134 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:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2120 +#: common/models.py:2140 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:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2126 +#: common/models.py:2146 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:2131 +#: common/models.py:2151 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2139 +#: common/models.py:2159 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:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2147 +#: common/models.py:2167 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:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2155 +#: common/models.py:2175 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:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2162 +#: common/models.py:2182 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:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2168 +#: common/models.py:2188 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:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2174 +#: common/models.py:2194 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:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2180 +#: common/models.py:2200 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:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2186 +#: common/models.py:2206 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:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2192 +#: common/models.py:2212 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:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2199 +#: common/models.py:2219 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:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2206 +#: common/models.py:2226 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:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2212 +#: common/models.py:2232 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:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2218 +#: common/models.py:2238 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:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2224 +#: common/models.py:2244 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:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2231 +#: common/models.py:2251 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:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2238 +#: common/models.py:2258 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:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2245 +#: common/models.py:2265 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:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2252 +#: common/models.py:2272 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:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2259 +#: common/models.py:2279 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:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2267 +#: common/models.py:2287 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:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2274 +#: common/models.py:2294 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:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2280 +#: common/models.py:2300 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:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2286 +#: common/models.py:2306 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:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2292 +#: common/models.py:2312 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:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2298 +#: common/models.py:2318 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:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2325 +#: common/models.py:2345 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:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2333 +#: common/models.py:2353 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:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "Mẫu nhãn sản phẩm mặc định" -#: common/models.py:2340 +#: common/models.py:2360 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:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "Mẫu hàng hóa trong khi mặc định" -#: common/models.py:2347 +#: common/models.py:2367 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:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "Mẫu nhãn vị trí kho mặc định" -#: common/models.py:2355 +#: common/models.py:2375 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:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "Giá" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "Hoạt động" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "Thân" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2776 +#: common/models.py:2796 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:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2782 +#: common/models.py:2802 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:2908 +#: common/models.py:2928 msgid "Id" msgstr "Mã" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "Đọc" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:2980 +#: common/models.py:3000 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:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "Định nghĩa đơn vị" @@ -3774,273 +3793,273 @@ msgstr "Hàng hóa đã được nhập vào" msgid "Previous Step" msgstr "Bước trước" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "Mô tả công ty" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "Mô tả của công ty" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "Trang web" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "URL trang web của công ty" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "Số điện thoại" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "Số điện thoại liên hệ" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "Địa chỉ email liên hệ" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "Liên hệ" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "Đầu mối liên hệ" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "Liên kết đến thông tin công ty ngoài" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "là khách hàng" -#: company/models.py:160 +#: company/models.py:161 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:165 +#: company/models.py:166 msgid "is supplier" msgstr "là nhà cung cấp" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "Bạn có mua hàng từ công ty này?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "là nhà sản xuất" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "Công ty này có sản xuất sản phẩm?" -#: company/models.py:180 +#: company/models.py:181 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:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Doanh nghiêp" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "Chọn doanh nghiệp" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "Tiêu đề địa chỉ" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "Tiêu đề mô tả mục địa chỉ" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "Địa chỉ chính" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "Đặt làm địa chỉ chính" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Dòng 1" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "Địa chỉ dòng 1" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Dòng 2" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "Địa chỉ dòng 2" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Mã bưu chính" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "Thành phố/Vùng" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "Mã bưu chính thành phố/vùng" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "Bang/Tỉnh" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "Bang hay tỉnh" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "Quốc gia" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "Địa chỉ quốc gia" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "Ghi chú vận chuyển" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "Ghi chú dành cho chuyển phát nhanh" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "Ghi chú nội bọ chuyển phát nhanh" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 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:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "Chọn sản phẩm" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "MPN" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "Mã số nhà sản xuất" -#: company/models.py:507 +#: company/models.py:510 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:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "Mô tả sản phẩm của nhà sản xuất" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "Giá trị" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "Đơn vị" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "Đơn vị tham số" -#: company/models.py:720 +#: company/models.py:725 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:727 +#: company/models.py:732 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:741 +#: company/models.py:746 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:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "Chọn sản phẩm của nhà sản xuất" -#: company/models.py:814 +#: company/models.py:819 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:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "Ghi chú" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "Đóng gói" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "Đóng gói sản phẩm" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "Số lượng gói" -#: company/models.py:854 +#: company/models.py:859 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:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "nhiều" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "Đặt hàng nhiều" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "Số lượng có sẵn từ nhà cung cấp" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "Sẵn hàng đã được cập nhật" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" @@ -4196,17 +4215,17 @@ msgstr "Tải hình ảnh từ URL" msgid "Delete image" msgstr "Xóa ảnh" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "Khách hàng" @@ -4214,7 +4233,7 @@ msgstr "Khách hàng" msgid "Uses default currency" msgstr "Dùng tiền mặc định" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "Địa chỉ" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "Chưa có thông tin nhà cung cấp" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "SKU" @@ -4561,12 +4580,12 @@ msgstr "Cập nhật độ sẵn sàng sản phẩm" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "Hàng trong kho" @@ -4620,7 +4639,9 @@ msgstr "Nhãn" msgid "Label template file" msgstr "Tệp mẫu nhãn" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Đã bật" @@ -4676,48 +4697,48 @@ msgstr "Mã QR" msgid "QR code" msgstr "Mã QR" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Không rõ" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "Tổng tiền" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,391 +4819,391 @@ msgstr "Không tìm thấy đơn đặt mua phù hợp" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "Tiền tệ cho đơn đặt này (để trống để sử dụng tiền mặc định)" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "Liên hệ không phù hợp với doanh nghiệp đã chọn" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "Mô tả đơn đặt (tùy chọn)" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Ngày mong muốn giao được hàng. Đơn đặt sẽ quá hạn sau ngày này." -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "Tạo bởi" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt này" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "Đầu mối liên hệ của đơn đặt này" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "Địa chỉ công ty cho đơn đặt này" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "Mã đặt hàng" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "Trạng thái đơn đặt mua" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "Doanh nghiệp từ những hàng hóa đang được đặt mua" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "Tham chiếu nhà cung cấp" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "Mã tham chiếu đơn đặt nhà cung cấp" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "nhận bởi" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "Nhà cung cấp sản phẩm phải trùng với nhà cung cấp PO" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" -#: order/models.py:894 +#: order/models.py:899 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:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Ngày giao hàng" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "vận chuyển bằng" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "Đơn đặt hàng không thể hoàn thiện vì chưa có sản phẩm nào được chọn" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "Những đơn hàng đang mở thì sẽ được đánh dấu là hoàn thành" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Đơn hàng không thể hoàn thành được vì vận chuyển chưa xong" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "Đơn hàng không thể hoàn thành được vì những khoản riêng chưa xong" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "Số lượng mặt hàng" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "Tham chiếu khoản riêng" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "Ghi chú khoản riêng" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Ngày mục tiêu cho khoản riêng này (để trống để sử dụng ngày mục tiêu từ đơn đặt)" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "Mô tả khoản riêng (tùy chọn)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "Ngữ cảnh" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "Ngữ cảnh bổ sung" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1350 +#: order/models.py:1355 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:1357 +#: order/models.py:1362 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Đặt hàng" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "Đã nhận" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1417 +#: order/models.py:1422 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:1495 +#: order/models.py:1511 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:1500 +#: order/models.py:1516 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:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1693 +#: order/models.py:1709 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:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1818 +#: order/models.py:1834 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:1821 +#: order/models.py:1837 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:1824 +#: order/models.py:1840 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:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 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:1846 +#: order/models.py:1862 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:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 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:1855 +#: order/models.py:1871 msgid "Line" msgstr "Dòng" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:1976 +#: order/models.py:1994 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:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2167 +#: order/models.py:2185 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:2183 +#: order/models.py:2201 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:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2190 +#: order/models.py:2208 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:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2209 +#: order/models.py:2227 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" @@ -5190,139 +5211,155 @@ msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hà msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 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:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 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:402 -msgid "Order is not open" -msgstr "Đơn đặt là không được mở" +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "Đơn đặt là không được mở" + +#: order/serializers.py:429 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:445 +#: order/serializers.py:447 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:502 +#: order/serializers.py:524 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:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 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:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 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:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" -#: order/serializers.py:588 +#: order/serializers.py:610 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:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "Vị trí đích phải được chỉ ra" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 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:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 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:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "Những số sê ri sau đây đã được phân bổ" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1601 +#: order/serializers.py:1623 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:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:1633 +#: order/serializers.py:1655 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:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5507,9 +5544,9 @@ msgstr "Lựa chọn trùng lặp" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "Hàng hóa đặt mua" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "Mã khách hàng" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "Cập nhật {part} giá đơn vị đến {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Cập nhật {part} giá đơn vị đến {price} và số lượng đến {qty}" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "Tên sản phẩm" @@ -5740,20 +5777,20 @@ msgstr "Tên sản phẩm" msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "IPN" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5778,11 +5815,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:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5801,21 +5838,21 @@ msgstr "Sử dụng trong" msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "ID cha" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "Tên cha" @@ -5824,9 +5861,10 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "Đưỡng dẫn danh mục" msgid "Parts" msgstr "Nguyên liệu" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "Cấp độ BOM" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "ID hàng hóa BOM" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "Đơn đặt mua vào" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "Đơn hàng bán ra" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "Kho sản xuất bởi Đơn đặt bản dựng" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "Kho được yêu cầu cho đơn đặt bản dựng" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "Hợp lệ" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "Danh mục" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Điểm bán mặc định" @@ -5904,7 +5995,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:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 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" @@ -5919,7 +6010,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:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "Từ khóa mặc định" msgid "Default keywords for parts in this category" msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:145 +#: part/models.py:147 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:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, 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:548 +#: part/models.py:550 #, 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:613 +#: part/models.py:615 #, 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:693 +#: part/models.py:695 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:796 +#: part/models.py:800 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:806 +#: part/models.py:810 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:821 +#: part/models.py:825 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:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:856 +#: part/models.py:860 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:866 +#: part/models.py:870 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:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:882 +#: part/models.py:886 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:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "Danh mục" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:907 +#: part/models.py:911 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:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:987 +#: part/models.py:991 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:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1012 +#: part/models.py:1016 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:1018 +#: part/models.py:1022 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:1024 +#: part/models.py:1028 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:1030 +#: part/models.py:1034 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:1036 +#: part/models.py:1040 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:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1046 +#: part/models.py:1050 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:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1092 +#: part/models.py:1096 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:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:2979 +#: part/models.py:2993 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:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3017 +#: part/models.py:3031 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:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3024 +#: part/models.py:3038 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:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3031 +#: part/models.py:3045 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:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3038 +#: part/models.py:3052 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:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3045 +#: part/models.py:3059 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:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3052 +#: part/models.py:3066 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:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3059 +#: part/models.py:3073 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:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3094 +#: part/models.py:3108 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:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3140 +#: part/models.py:3154 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:3148 +#: part/models.py:3162 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:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "Ngày" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3178 +#: part/models.py:3192 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:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3185 +#: part/models.py:3199 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:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3248 +#: part/models.py:3262 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:3258 +#: part/models.py:3272 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:3418 +#: part/models.py:3438 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:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "Kiểm thử với tên này đã tồn tại cho sản phẩm này" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3477 +#: part/models.py:3496 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:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3484 +#: part/models.py:3503 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:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3536 +#: part/models.py:3555 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:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3616 +#: part/models.py:3635 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:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:3994 +#: part/models.py:4013 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:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4002 +#: part/models.py:4021 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:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 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:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 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:4042 +#: part/models.py:4061 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:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 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:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4300 +#: part/models.py:4319 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:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4365 +#: part/models.py:4384 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:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 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:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:403 +#: part/serializers.py:433 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:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:410 +#: part/serializers.py:440 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:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:432 +#: part/serializers.py:462 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:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:440 +#: part/serializers.py:470 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:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:468 +#: part/serializers.py:498 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:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:485 +#: part/serializers.py:515 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:494 +#: part/serializers.py:524 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:505 +#: part/serializers.py:535 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:512 +#: part/serializers.py:542 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:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 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:786 +#: part/serializers.py:816 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:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:793 +#: part/serializers.py:823 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:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:800 +#: part/serializers.py:830 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:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:809 +#: part/serializers.py:839 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:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:815 +#: part/serializers.py:845 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:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1038 +#: part/serializers.py:1068 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:1048 +#: part/serializers.py:1078 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:1058 +#: part/serializers.py:1088 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:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1065 +#: part/serializers.py:1095 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:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1071 +#: part/serializers.py:1101 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:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1077 +#: part/serializers.py:1107 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:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, 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:1273 +#: part/serializers.py:1303 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:1276 +#: part/serializers.py:1306 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:1602 +#: part/serializers.py:1632 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:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1611 +#: part/serializers.py:1641 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:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1617 +#: part/serializers.py:1647 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:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1623 +#: part/serializers.py:1653 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:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1629 +#: part/serializers.py:1659 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:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1664 +#: part/serializers.py:1694 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:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1744 +#: part/serializers.py:1774 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:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "Buộc phải nhập ít nhất một mục BOM" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "Tổng số lượng" @@ -6965,11 +7077,6 @@ msgstr "Xóa danh mục" msgid "Top level part category" msgstr "Danh mục sản phẩm cấp đầu" -#: 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/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "Sản phẩm (bao gồm các phụ mục)" @@ -7040,7 +7147,7 @@ msgstr "Thêm thông tin kiểm kê" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "Kiểm kê" @@ -7274,7 +7381,7 @@ msgstr "Sản phẩm bị tắt" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "Không hoạt động" @@ -7402,7 +7509,7 @@ msgstr "Biến thể" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -7448,7 +7555,7 @@ msgstr "Sửa" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "Cập nhật lần cuối" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "Mã vạch phù hợp với hàng hóa hiện có" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "Cung cấp khả năng quét mã vạch TME" msgid "The Supplier which acts as 'TME'" msgstr "Nhà cung cấp hoạt động như 'TME'" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "Cài đặt phần mở rộng thành công" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "Cài đặt phần bổ sung đến {path}" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "Là phần bổ sung hoạt động" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "Đã cài đặt" @@ -8055,21 +8170,21 @@ msgstr "Phần bổ sung" msgid "Method" msgstr "Phương thức" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "Không tìm thấy tác giả" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}" @@ -8338,7 +8453,7 @@ msgstr "Nhà cung cấp đã bị xóa" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "Đơn giá" @@ -8351,17 +8466,17 @@ msgstr "Bảng liệt kê mở rộng" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "Tổng cộng" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "Kết quả kiểm tra" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "Thử nghiệm" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "Kết quả" @@ -8416,7 +8531,7 @@ msgstr "Mục đã cài đặt" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "Sê-ri" @@ -8473,7 +8588,7 @@ msgstr "Tên nhà cung cấp" msgid "Customer ID" msgstr "ID Khách hàng" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "Đã cài đặt trong" @@ -8498,493 +8613,523 @@ msgstr "Cần xem xét" msgid "Delete on Deplete" msgstr "Xóa khi thiếu hụt" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "Ngày hết hạn" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Ế" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:883 +#: stock/api.py:911 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:893 +#: stock/api.py:921 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:924 +#: stock/api.py:952 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" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "Loại vị trí kho hàng" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "Loại vị trí kho hàng" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "Biểu tượng mặc định cho vị trí không được đặt biểu tượng (tùy chọn)" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "Chủ sở hữu" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "Chọn chủ sở hữu" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Không thể đưa trực tiếp hàng trong kho vào bên trong vị trí kho hàng có cấu trúc, nhưng có thể đặt vào kho con." -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "Bên ngoài" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "Đây là vị trí kho bên ngoài" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "Loại vị trí" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "Loại vị trí kho hàng của địa điểm này" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu trúc vì đã có hàng hóa trong kho được đặt vào bên trong nó!" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "Không thể đặt hàng trong kho vào trong địa điểm kho có cấu trúc!" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "Loại sản phẩm ('{self.supplier_part.part}') phải là {self.part}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "Số lượng phải là 1 cho hàng hóa với số sê ri" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Số sê ri không thể đặt được nếu số lượng lớn hơn 1" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "Hàng hóa không thể thuộc về chính nó" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "Hàng hóa phải có 1 tham chiếu bản dựng nếu is_building=True" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "Tham chiếu bản dựng không thể trỏ vào cùng một đối tượng sản phẩm" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "Hàng trong kho cha" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "Sản phẩm cơ bản" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho này" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "Mục này đã được cài đặt trong mục khác?" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "Số lượng tồn kho" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "Bản dựng nguồn" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "Bản dựng cho hàng hóa này" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "Tiêu thụ bởi" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "Đơn đặt bản dựng đã dùng hàng hóa này" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "Đơn đặt mua nguồn" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "Đơn đặt mua cho hàng hóa này" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "Đơn hàng bán đích" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ngày hết hạn của hàng hóa này. Kho sẽ được nhắc tình trạng hết hạn sau ngày này" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "Xóa khi thiếu hụt" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "Xóa hàng trong kho này khi kho hàng bị thiếu hụt" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "Giá mua riêng lẻ tại thời điểm mua" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "Đã chuyển đổi sang sản phẩm" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "Chưa đặt sản phẩm thành có thể theo dõi" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "Số lượng phải là số nguyên" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "Số sêri phải là một danh sách dãy số nguyên" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "Hàng trong kho đã được gán vào đơn hàng bán" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "Hàng trong kho đã được cài đặt vào hàng hóa khác" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "Hàng trong kho đã được gắn với một khách hàng" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm tương tự" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "Mặt hàng phải tham chiếu đến sản phẩm nhà cung cấp tương tự" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:1807 +#: stock/models.py:1873 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:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2323 +#: stock/models.py:2399 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:2329 +#: stock/models.py:2405 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:2344 -msgid "Test name" -msgstr "Tên kiểm thử" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:215 +#: stock/serializers.py:267 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:328 +#: stock/serializers.py:380 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:390 +#: stock/serializers.py:442 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:403 +#: stock/serializers.py:455 #, 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:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:438 +#: stock/serializers.py:490 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:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 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:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:529 +#: stock/serializers.py:581 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:541 +#: stock/serializers.py:593 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:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:611 +#: stock/serializers.py:663 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:624 +#: stock/serializers.py:676 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:641 +#: stock/serializers.py:693 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:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "Kho phụ" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 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:985 +#: stock/serializers.py:1044 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:1009 +#: stock/serializers.py:1068 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:1015 +#: stock/serializers.py:1074 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:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 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:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 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:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 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:1134 +#: stock/serializers.py:1193 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:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -9009,7 +9154,7 @@ msgstr "Thông tin kiểm thử" msgid "Test Report" msgstr "Báo cáo kiểm thử" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "Xóa dữ liệu báo cáo kiểm thử" @@ -9025,15 +9170,15 @@ msgstr "Ghi chú tại kho hàng" msgid "Installed Stock Items" msgstr "Hàng hóa đã lắp đặt" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "Lắp đặt hàng hóa trong kho" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "Xóa toàn bộ kết quả kiểm thử cho kho hàng này" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "Chức năng điều chỉnh kho" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "Đếm hàng" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "Thêm hàng" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "Xóa hàng hóa" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "Sắp xếp hàng hóa" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "Chuyển giao hàng" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "Chỉ định cho khách hàng" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "Xóa mặt hàng" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "Dựng" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "Số lượng sẵn có" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "Không có vị trí nào được đặt" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "Chưa thực hiện kiểm kê" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "Chủ sở hữu vị trí" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Bạn không thuộc danh sách chủ sở hữu của vị trí này. Vị trí kho này không thể sửa được." -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "Kho phụ" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "Tạo mới vị trí kho" @@ -9329,20 +9468,20 @@ msgstr "Tạo mới vị trí kho" msgid "New Location" msgstr "Vị trí mới" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "Thiết lập phần bổ sung" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Đổi thiết lập bên dưới yêu cầu bạn cần khởi động máy chủ ngay lập tức. Đừng thay đổi điều này trong khi đang sử dụng phần mềm." -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Phần bổ sung" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Cài đặt phần bổ sung" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Tải lại plugin" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Phần bổ sung bên ngoài chưa được bật cho cài đặt InvenTree này" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "Ngăn Xếp Lỗi Phần Bổ Sung" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "Giai đoạn" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Tin nhắn" @@ -9722,7 +9861,7 @@ msgstr "Đường dẫn cài đặt" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "Gắn liền" @@ -9732,7 +9871,7 @@ msgstr "Đây là phần bổ sung có sẵn nên không thể tắt được" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "Mẫu" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "Trang chủ" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "Xác nhận địa chỉ email" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "Xin hãy xác nhận rằng %(email)s là địa chỉ email cho người dùng %(user_display)s." -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "Xác nhận" @@ -10523,7 +10662,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:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Số lượng bắt buộc" @@ -10537,7 +10676,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:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "Số lượng tối thiểu" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "Đóng" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "Lỗi biểu mẫu tồn tại" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "Nhập truy vấn tìm kiếm" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 0d5a82b56624..d16da7dabe9a 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-14 14:18+0000\n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"POT-Creation-Date: 2024-02-27 05:10+0000\n" +"PO-Revision-Date: 2024-02-27 06:35\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,28 +17,33 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:197 +#: InvenTree/api.py:198 msgid "API endpoint not found" msgstr "找不到 API 端點" -#: InvenTree/api.py:461 +#: InvenTree/api.py:462 msgid "User does not have permission to view this model" msgstr "使用者沒有檢視此模型的權限" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:170 msgid "No value provided" msgstr "未提供值" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:198 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:200 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:214 #, python-brace-format msgid "Invalid quantity supplied ({exc})" msgstr "" @@ -51,26 +56,26 @@ msgstr "詳細的錯誤訊息可以在管理介面中瀏覽" msgid "Enter date" msgstr "輸入日期" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1081 stock/serializers.py:1170 +#: stock/serializers.py:1335 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "備註" @@ -127,42 +132,42 @@ msgstr "所提供的Email網域尚未被核准。" msgid "Registration is disabled." msgstr "註冊功能已停用。" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "提供的數量無效" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "序號為空白" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "重複的序號" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, python-brace-format msgid "Invalid group range: {group}" msgstr "" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, python-brace-format msgid "Invalid group sequence: {group}" msgstr "" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "找不到序號" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "從這個值中移除HTML標籤" @@ -331,7 +336,7 @@ msgstr "中文(繁體)" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -386,7 +391,7 @@ msgstr "缺少檔案" msgid "Missing external link" msgstr "缺少外部連結" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -396,25 +401,25 @@ msgstr "附件" msgid "Select file to attach" msgstr "選擇附件" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "連結" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "外部URL連結" @@ -427,13 +432,13 @@ msgstr "註解" msgid "File comment" msgstr "檔案註解" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "使用者" @@ -474,13 +479,13 @@ msgstr "同一個上層元件下不能有重複的名字" msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:81 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -490,48 +495,48 @@ msgstr "無效的選項" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "描述" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "描述(選填)" @@ -540,7 +545,7 @@ msgid "parent" msgstr "上層元素" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "路徑" @@ -576,104 +581,104 @@ msgstr "伺服器錯誤" msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 msgid "Welcome to InvenTree" msgstr "" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "檔案名稱" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "無效的值" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "資料檔" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "選擇要上傳的資料檔案" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "不支援的檔案類型" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "檔案大小過大" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "檔案中找不到欄位" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "檔案中找不到資料列" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "沒有提供資料列" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "沒有提供資料欄位" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "找不到必須的欄位: 「{name}」" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "重複的欄位:「{col}」" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "遠端圖片的URL" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "尚未啟用從遠端URL下載圖片" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1120 msgid "Background worker check failed" msgstr "背景工作程式檢查失敗" @@ -688,7 +693,7 @@ msgstr "InvenTree系統健康檢查失敗" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "待處理" @@ -722,7 +727,7 @@ msgstr "已退回" msgid "In Progress" msgstr "進行中" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -813,7 +818,7 @@ msgstr "從上層元素分拆" msgid "Split child item" msgstr "分拆下層元素" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "已合併的庫存項目" @@ -833,7 +838,7 @@ msgstr "工單產出已完成" msgid "Build order output rejected" msgstr "工單產出已拒絕" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "被工單消耗的" @@ -881,7 +886,7 @@ msgstr "退款" msgid "Reject" msgstr "拒絕" -#: InvenTree/templatetags/inventree_extras.py:177 +#: InvenTree/templatetags/inventree_extras.py:183 msgid "Unknown database" msgstr "" @@ -933,58 +938,58 @@ msgstr "關於InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "耗材" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "非必須項目" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "已分配" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "可用數量" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "生產工單" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -995,55 +1000,55 @@ msgstr "生產工單" msgid "Build Orders" msgstr "生產工單" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "無效的上層生產工單選擇" -#: build/models.py:126 +#: build/models.py:127 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "參考代號" -#: build/models.py:182 +#: build/models.py:185 msgid "Brief description of the build (optional)" msgstr "關於生產工單的簡單說明(選填)" -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上層生產工單" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "這張生產工單對應的上層生產工單" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1528 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1066 part/serializers.py:1631 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1054,7 +1059,7 @@ msgstr "這張生產工單對應的上層生產工單" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1062,18 +1067,18 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1081,151 +1086,151 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "零件" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "選擇要生產的零件" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "銷售訂單代號" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "這張生產工單對應的銷售訂單" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "來源倉儲地點" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "目標倉儲地點" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "選擇要存放成品的倉儲地點" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "生產數量" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "要生產的庫存品數量" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "已完成項目" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "已經完成的庫存品數量" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "生產狀態" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1300 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代碼" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "本批次成品的生產批號" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "建立日期" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "目標完成日期" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "完成日期" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "完成者" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "發布者" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "負責人" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "負責此生產工單的使用者或群組" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "外部連結" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "製造優先度" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "此生產工單的優先程度" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1233,52 +1238,57 @@ msgstr "此生產工單的優先程度" msgid "Project Code" msgstr "專案代碼" -#: build/models.py:321 +#: build/models.py:324 msgid "Project code for this build order" msgstr "此生產工單隸屬的專案代碼" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生產工單 {build} 已經完成" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "尚未指定生產品項" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "生產成品已經完成" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "生產品項與生產工單不符" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1423 part/serializers.py:1789 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "數量不能大於工單生產數量" -#: build/models.py:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 msgid "Build object" msgstr "" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1288,26 +1298,26 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1315,46 +1325,46 @@ msgstr "" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "數量" -#: build/models.py:1293 +#: build/models.py:1301 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1465 +#: build/models.py:1473 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1019 +#: stock/serializers.py:1131 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1362,317 +1372,317 @@ msgstr "選擇的庫存品項和BOM的項目不符" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "安裝到" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "目的庫存品項" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "產出" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "產出與上層生產工單不符" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "產出零件與生產工單不符" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "此筆產出已完成" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "此筆產出的分配尚未完成" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "輸入產出數量" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "輸入產出的序號" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:978 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "必須提供產出清單" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1086 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1163 stock/serializers.py:1419 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "地點" -#: build/serializers.py:426 +#: build/serializers.py:427 msgid "Stock location for scrapped outputs" msgstr "報廢的庫存位置" -#: build/serializers.py:432 +#: build/serializers.py:433 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1307 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "狀態" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:734 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:788 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1032 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:745 msgid "BOM Item" msgstr "" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1441 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1443 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1454 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1803,14 +1813,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1829,9 +1839,9 @@ msgstr "" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "逾期" @@ -1841,8 +1851,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1852,7 +1862,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "" @@ -1864,7 +1874,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "優先等級" @@ -1892,8 +1902,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "" @@ -1907,11 +1917,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1921,7 +1931,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "" @@ -1931,7 +1941,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "" @@ -1976,7 +1986,7 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "" @@ -2143,1468 +2153,1477 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1224 +#: common/models.py:1236 msgid "Pending migrations" msgstr "" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "天" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "自動備份" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "啟動資料庫和媒體文件自動備份" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "自動備份間隔" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 msgid "Part Revisions" msgstr "" -#: common/models.py:1391 +#: common/models.py:1403 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 msgid "Enable project codes" msgstr "" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1944 +#: common/models.py:1956 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 msgid "Search Return Orders" msgstr "" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 msgid "Regex Search" msgstr "" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 msgid "Default part label template" msgstr "" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 msgid "Default stock item template" msgstr "" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 msgid "Default stock location label template" msgstr "" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3614,31 +3633,31 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2938 +#: common/models.py:2958 msgid "Image file" msgstr "" -#: common/models.py:2980 +#: common/models.py:3000 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2999 +#: common/models.py:3019 msgid "Unit name" msgstr "" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3774,273 +3793,273 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:761 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:375 +#: company/models.py:378 msgid "Select company" msgstr "" -#: company/models.py:380 +#: company/models.py:383 msgid "Address title" msgstr "" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 msgid "Primary address" msgstr "" -#: company/models.py:388 +#: company/models.py:391 msgid "Set as primary address" msgstr "" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 msgid "Address line 1" msgstr "" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 msgid "Address line 2" msgstr "" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 msgid "Address country" msgstr "" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 msgid "Internal shipping notes" msgstr "" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 msgid "Link to address information (external)" msgstr "" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:497 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:507 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:481 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 @@ -4048,93 +4067,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:492 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1317 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4196,17 +4215,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1067 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "" @@ -4214,7 +4233,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4459,11 +4478,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "" @@ -4509,11 +4528,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:491 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4561,12 +4580,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "" @@ -4620,7 +4639,9 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" @@ -4676,48 +4697,48 @@ msgstr "" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 msgid "Number of copies to print for each label" msgstr "" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 msgid "Printing" msgstr "" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 msgid "Disconnected" msgstr "" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 msgid "Label Printer" msgstr "" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 msgid "Directly print labels for various items." msgstr "" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 msgid "Printer Location" msgstr "" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4777,20 +4798,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4798,531 +4819,547 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 msgid "Return Order" msgstr "" -#: order/models.py:89 +#: order/models.py:90 msgid "Total price for this order" msgstr "" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 msgid "Order Currency" msgstr "" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:265 +#: order/models.py:266 msgid "Order description (optional)" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "Select project code for this order" msgstr "" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:319 +#: order/models.py:320 msgid "Point of contact for this order" msgstr "" -#: order/models.py:329 +#: order/models.py:330 msgid "Company address for this order" msgstr "" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 msgid "Return Order reference" msgstr "" -#: order/models.py:1976 +#: order/models.py:1994 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:266 -msgid "Order cannot be cancelled" +#: order/serializers.py:266 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:281 order/serializers.py:1214 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:291 order/serializers.py:1224 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:408 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:429 +msgid "Auto Pricing" msgstr "" -#: order/serializers.py:281 order/serializers.py:1192 -msgid "Allow order to be closed with incomplete line items" +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 -msgid "Order has incomplete line items" +#: order/serializers.py:441 +msgid "Purchase price currency" msgstr "" -#: order/serializers.py:402 -msgid "Order is not open" +#: order/serializers.py:447 +msgid "Merge Items" msgstr "" -#: order/serializers.py:427 -msgid "Purchase price currency" +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:548 +#: order/serializers.py:570 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1604 +#: order/serializers.py:1626 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 msgid "Line price currency" msgstr "" @@ -5507,9 +5544,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5573,7 +5610,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5636,7 +5673,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -5726,12 +5763,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -5740,20 +5777,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5778,11 +5815,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5801,21 +5838,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -5824,9 +5861,10 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:259 +#: part/serializers.py:373 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 @@ -5835,63 +5873,116 @@ msgstr "" msgid "Parts" msgstr "零件" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1220 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1235 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +msgid "Parent" +msgstr "" + +#: part/api.py:179 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:455 +msgid "Has Results" +msgstr "" + +#: part/api.py:622 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:640 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:656 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:740 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:887 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:888 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:894 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1541 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:388 part/serializers.py:1076 +#: part/templates/part/part_base.html:260 stock/api.py:733 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" @@ -5904,7 +5995,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5919,7 +6010,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -5937,953 +6028,974 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 msgid "Part description (optional)" msgstr "" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "" -#: part/models.py:1092 +#: part/models.py:1096 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 msgid "Choices must be unique" msgstr "" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:128 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:172 +msgid "Results" +msgstr "" + +#: part/serializers.py:173 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:197 part/serializers.py:215 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:260 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:379 msgid "No parts selected" msgstr "" -#: part/serializers.py:359 +#: part/serializers.py:389 msgid "Select category" msgstr "" -#: part/serializers.py:389 +#: part/serializers.py:419 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:420 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:425 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:426 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:432 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:433 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:439 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:440 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:446 msgid "Copy Notes" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:447 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:460 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:462 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:469 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:470 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:482 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:498 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:508 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:515 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:524 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:535 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:542 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:815 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:786 +#: part/serializers.py:816 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:822 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:823 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:829 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:830 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:838 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:809 +#: part/serializers.py:839 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:844 msgid "Existing Image" msgstr "" -#: part/serializers.py:815 +#: part/serializers.py:845 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:862 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1038 +#: part/serializers.py:1068 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1078 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1088 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1094 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1095 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1100 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1101 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1106 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1107 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1115 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1221 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1228 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1206 +#: part/serializers.py:1236 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1243 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1242 +#: part/serializers.py:1272 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1273 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1296 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1303 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1306 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1632 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1640 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1641 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1646 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1647 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1652 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1653 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1658 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1659 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1693 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1694 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1724 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1768 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1771 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1774 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1783 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1791 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1812 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -6965,11 +7077,6 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:122 part/templates/part/category.html:207 -#: part/templates/part/category_sidebar.html:7 -msgid "Subcategories" -msgstr "" - #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" msgstr "" @@ -7040,7 +7147,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7274,7 +7381,7 @@ msgstr "" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7402,7 +7509,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "庫存" @@ -7448,7 +7555,7 @@ msgstr "" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7620,7 +7727,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7664,7 +7771,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -7771,7 +7878,7 @@ msgstr "" msgid "Error rendering label to HTML" msgstr "" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 msgid "Error rendering label to PNG" msgstr "" @@ -7964,36 +8071,44 @@ msgstr "" msgid "The Supplier which acts as 'TME'" msgstr "" -#: plugin/installer.py:194 plugin/installer.py:279 +#: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" msgstr "" -#: plugin/installer.py:245 +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:251 +#: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:270 +#: plugin/installer.py:273 msgid "Plugin was not found in registry" msgstr "" -#: plugin/installer.py:273 +#: plugin/installer.py:276 msgid "Plugin is not a packaged plugin" msgstr "" -#: plugin/installer.py:276 +#: plugin/installer.py:279 msgid "Plugin package name not found" msgstr "" -#: plugin/installer.py:297 +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 msgid "Plugin cannot be uninstalled as it is currently active" msgstr "" -#: plugin/installer.py:310 +#: plugin/installer.py:316 msgid "Uninstalled plugin successfully" msgstr "" @@ -8030,7 +8145,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8055,21 +8170,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8338,7 +8453,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "" @@ -8351,17 +8466,17 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8384,12 +8499,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8416,7 +8531,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8473,7 +8588,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8498,493 +8613,523 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:323 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:568 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:753 msgid "Part Tree" msgstr "" -#: stock/api.py:753 +#: stock/api.py:781 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:785 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:788 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:874 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:880 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:911 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:921 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:952 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 msgid "Stock Location type" msgstr "" -#: stock/models.py:63 +#: stock/models.py:64 msgid "Stock Location types" msgstr "" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 msgid "Location type" msgstr "" -#: stock/models.py:184 +#: stock/models.py:185 msgid "Stock location type of this location" msgstr "" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1318 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1301 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 msgid "Consumed By" msgstr "" -#: stock/models.py:853 +#: stock/models.py:858 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1563 +#: stock/models.py:1598 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1207 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:115 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1164 stock/serializers.py:1420 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:514 +#: stock/serializers.py:566 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:715 +#: stock/serializers.py:767 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:977 +#: stock/serializers.py:863 stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1036 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1040 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1044 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1068 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1074 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1082 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1092 stock/serializers.py:1346 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1171 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1176 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1177 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1182 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1183 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1193 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1260 msgid "No Change" msgstr "" -#: stock/serializers.py:1230 +#: stock/serializers.py:1289 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1308 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1277 +#: stock/serializers.py:1336 msgid "Stock transaction notes" msgstr "" @@ -9009,7 +9154,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9025,15 +9170,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9056,17 +9201,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9075,12 +9220,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9121,7 +9266,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "" @@ -9187,7 +9332,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "" @@ -9219,7 +9364,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 msgid "stock item" msgstr "" @@ -9315,12 +9460,6 @@ msgstr "" msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:165 -#: stock/templates/stock/location.html:213 -#: stock/templates/stock/location_sidebar.html:5 -msgid "Sublocations" -msgstr "" - #: stock/templates/stock/location.html:217 msgid "Create new stock location" msgstr "" @@ -9329,20 +9468,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -9650,36 +9789,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:35 +#: templates/InvenTree/settings/plugin.html:36 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 #: templates/InvenTree/settings/plugin.html:42 +#: templates/InvenTree/settings/plugin.html:43 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 +#: templates/InvenTree/settings/plugin.html:46 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:55 +#: templates/InvenTree/settings/plugin.html:56 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:71 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:80 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:82 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -9722,7 +9861,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -9732,7 +9871,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -9835,7 +9974,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -9858,7 +9997,7 @@ msgid "No project codes found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -9946,7 +10085,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10294,7 +10433,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "" @@ -10523,7 +10662,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -10537,7 +10676,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -10775,7 +10914,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -10892,7 +11031,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -10912,26 +11051,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -10963,7 +11102,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11132,7 +11271,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 msgid "Allocated Quantity" msgstr "" @@ -11164,175 +11303,175 @@ msgstr "" msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 msgid "Remove stock allocation" msgstr "" @@ -11355,7 +11494,7 @@ msgid "Add Supplier" msgstr "" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "" @@ -11619,61 +11758,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -11859,7 +11998,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12020,7 +12159,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12097,19 +12236,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12150,7 +12289,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12162,7 +12301,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12174,60 +12313,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -12347,204 +12490,208 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -12760,7 +12907,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -12810,10 +12957,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13022,7 +13165,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "" @@ -13046,248 +13189,248 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 msgid "Change Stock Status" msgstr "" @@ -13296,23 +13439,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -13333,7 +13476,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -13352,12 +13495,12 @@ msgstr "" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -13399,7 +13542,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -13500,52 +13643,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 19cd1826b848..29e3d1e28561 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-15 00:38+0000\n" +"POT-Creation-Date: 2024-02-24 03:28+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -25,24 +25,24 @@ msgstr "未找到 API 端点" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:95 +#: InvenTree/conversion.py:153 #, fuzzy #| msgid "No value set" msgid "No value provided" msgstr "未设置值" -#: InvenTree/conversion.py:128 +#: InvenTree/conversion.py:181 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:130 +#: InvenTree/conversion.py:183 #, fuzzy #| msgid "Invalid quantity provided" msgid "Invalid quantity supplied" msgstr "提供的数量无效" -#: InvenTree/conversion.py:144 +#: InvenTree/conversion.py:199 #, fuzzy, python-brace-format #| msgid "Invalid quantity provided" msgid "Invalid quantity supplied ({exc})" @@ -56,26 +56,26 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:437 -#: build/serializers.py:515 build/templates/build/sidebar.html:21 -#: company/models.py:830 company/templates/company/sidebar.html:37 -#: order/models.py:1266 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:209 InvenTree/models.py:1022 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:835 company/templates/company/sidebar.html:37 +#: order/models.py:1271 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:3160 part/templates/part/part_sidebar.html:63 +#: part/models.py:3174 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:226 stock/models.py:2263 stock/models.py:2367 -#: stock/serializers.py:427 stock/serializers.py:580 stock/serializers.py:676 -#: stock/serializers.py:726 stock/serializers.py:1022 stock/serializers.py:1111 -#: stock/serializers.py:1276 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:226 stock/models.py:2335 stock/models.py:2451 +#: stock/serializers.py:479 stock/serializers.py:632 stock/serializers.py:728 +#: stock/serializers.py:778 stock/serializers.py:1074 stock/serializers.py:1163 +#: stock/serializers.py:1328 stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1080 -#: templates/js/translated/purchase_order.js:2197 +#: templates/js/translated/purchase_order.js:2201 #: templates/js/translated/return_order.js:776 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1982 -#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 +#: templates/js/translated/stock.js:1526 templates/js/translated/stock.js:2391 msgid "Notes" msgstr "备注" @@ -132,47 +132,47 @@ msgstr "提供的电子邮件域未被核准。" msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:505 order/models.py:526 order/models.py:728 +#: InvenTree/helpers.py:512 order/models.py:529 order/models.py:731 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:513 +#: InvenTree/helpers.py:520 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:542 +#: InvenTree/helpers.py:549 msgid "Duplicate serial" msgstr "重复的序列号" -#: InvenTree/helpers.py:574 InvenTree/helpers.py:617 +#: InvenTree/helpers.py:581 InvenTree/helpers.py:624 #, fuzzy, python-brace-format #| msgid "Invalid group range: {g}" msgid "Invalid group range: {group}" msgstr "无效的组范围: {g}" -#: InvenTree/helpers.py:605 +#: InvenTree/helpers.py:612 #, fuzzy, python-brace-format #| msgid "Group range {g} exceeds allowed quantity ({q})" msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "组 {g} 超出了允许的数量 ({q})" -#: InvenTree/helpers.py:635 InvenTree/helpers.py:642 InvenTree/helpers.py:661 +#: InvenTree/helpers.py:642 InvenTree/helpers.py:649 InvenTree/helpers.py:668 #, fuzzy, python-brace-format #| msgid "Invalid group sequence: {g}" msgid "Invalid group sequence: {group}" msgstr "无效的组序列: {g}" -#: InvenTree/helpers.py:671 +#: InvenTree/helpers.py:678 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:676 +#: InvenTree/helpers.py:683 #, fuzzy #| msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/helpers.py:794 +#: InvenTree/helpers.py:801 msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" @@ -347,7 +347,7 @@ msgstr "" msgid "[{site_name}] Log in to the app" msgstr "" -#: InvenTree/magic_login.py:38 company/models.py:131 +#: InvenTree/magic_login.py:38 company/models.py:132 #: company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 @@ -404,7 +404,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:559 stock/models.py:2362 +#: InvenTree/models.py:559 stock/models.py:2446 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" @@ -414,25 +414,25 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:568 common/models.py:2912 company/models.py:144 -#: company/models.py:449 company/models.py:506 company/models.py:813 -#: order/models.py:278 order/models.py:1271 order/models.py:1674 -#: part/admin.py:55 part/models.py:914 +#: InvenTree/models.py:568 common/models.py:2932 company/models.py:145 +#: company/models.py:452 company/models.py:509 company/models.py:818 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 +#: part/admin.py:55 part/models.py:918 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:225 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2456 -#: templates/js/translated/purchase_order.js:2037 -#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 #: templates/js/translated/return_order.js:780 #: templates/js/translated/sales_order.js:1056 #: templates/js/translated/sales_order.js:1987 msgid "Link" msgstr "链接" -#: InvenTree/models.py:569 build/models.py:306 part/models.py:915 -#: stock/models.py:817 +#: InvenTree/models.py:569 build/models.py:309 part/models.py:919 +#: stock/models.py:822 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -445,13 +445,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2388 -#: common/models.py:2389 common/models.py:2613 common/models.py:2614 -#: common/models.py:2859 common/models.py:2860 part/models.py:3170 -#: part/models.py:3257 part/models.py:3350 part/models.py:3378 +#: InvenTree/models.py:584 InvenTree/models.py:585 common/models.py:2408 +#: common/models.py:2409 common/models.py:2633 common/models.py:2634 +#: common/models.py:2879 common/models.py:2880 part/models.py:3184 +#: part/models.py:3271 part/models.py:3364 part/models.py:3392 #: plugin/models.py:251 plugin/models.py:252 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:3007 users/models.py:100 +#: templates/js/translated/stock.js:3000 users/models.py:100 msgid "User" msgstr "用户" @@ -492,10 +492,10 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:894 common/models.py:2600 common/models.py:2998 -#: common/serializers.py:370 company/models.py:605 label/models.py:115 -#: machine/models.py:24 part/models.py:850 part/models.py:3587 -#: plugin/models.py:41 report/models.py:174 stock/models.py:75 +#: InvenTree/models.py:894 common/models.py:2620 common/models.py:3018 +#: common/serializers.py:370 company/models.py:608 label/models.py:115 +#: machine/models.py:24 part/models.py:854 part/models.py:3606 +#: plugin/models.py:41 report/models.py:174 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:80 @@ -508,48 +508,48 @@ msgstr "选择无效" #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1186 #: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2687 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2680 msgid "Name" msgstr "名称" -#: InvenTree/models.py:900 build/models.py:179 +#: InvenTree/models.py:900 build/models.py:182 #: build/templates/build/detail.html:24 common/models.py:136 -#: company/models.py:514 company/models.py:821 +#: company/models.py:517 company/models.py:826 #: company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 label/models.py:122 -#: order/models.py:264 order/models.py:1299 part/admin.py:303 part/admin.py:413 -#: part/models.py:873 part/models.py:3602 part/templates/part/category.html:82 +#: order/models.py:265 order/models.py:1304 part/admin.py:303 part/admin.py:414 +#: part/models.py:877 part/models.py:3621 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:187 #: report/models.py:622 report/models.py:667 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:55 stock/models.py:81 stock/templates/stock/location.html:125 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:170 #: templates/InvenTree/settings/settings_staff_js.html:451 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2135 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 #: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 #: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2873 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2887 #: templates/js/translated/plugin.js:80 -#: templates/js/translated/purchase_order.js:1703 -#: templates/js/translated/purchase_order.js:1846 -#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 #: templates/js/translated/sales_order.js:1812 -#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 -#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 +#: templates/js/translated/stock.js:1505 templates/js/translated/stock.js:2021 +#: templates/js/translated/stock.js:2712 templates/js/translated/stock.js:2795 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:901 stock/models.py:82 +#: InvenTree/models.py:901 stock/models.py:83 msgid "Description (optional)" msgstr "描述 (可选)" @@ -558,7 +558,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:916 templates/js/translated/part.js:2794 -#: templates/js/translated/stock.js:2728 +#: templates/js/translated/stock.js:2721 msgid "Path" msgstr "路径" @@ -596,108 +596,108 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:63 part/models.py:4115 +#: InvenTree/serializers.py:62 part/models.py:4134 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:100 company/models.py:177 -#: company/templates/company/company_base.html:106 part/models.py:2978 +#: InvenTree/serializers.py:99 company/models.py:178 +#: company/templates/company/company_base.html:106 part/models.py:2992 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:103 +#: InvenTree/serializers.py:102 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:437 +#: InvenTree/serializers.py:436 msgid "You do not have permission to change this user role." msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:448 msgid "Only superusers can create new users" msgstr "" -#: InvenTree/serializers.py:466 +#: InvenTree/serializers.py:467 msgid "Your account has been created." msgstr "" -#: InvenTree/serializers.py:468 +#: InvenTree/serializers.py:469 msgid "Please use the password reset function to login" msgstr "" -#: InvenTree/serializers.py:475 +#: InvenTree/serializers.py:476 #, fuzzy #| msgid "About InvenTree" msgid "Welcome to InvenTree" msgstr "关于 InventTree" -#: InvenTree/serializers.py:536 +#: InvenTree/serializers.py:537 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:570 +#: InvenTree/serializers.py:571 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:590 +#: InvenTree/serializers.py:591 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:591 +#: InvenTree/serializers.py:592 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:608 +#: InvenTree/serializers.py:609 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:614 +#: InvenTree/serializers.py:615 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:635 +#: InvenTree/serializers.py:636 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:638 +#: InvenTree/serializers.py:639 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:751 +#: InvenTree/serializers.py:752 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:754 +#: InvenTree/serializers.py:755 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:821 +#: InvenTree/serializers.py:822 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:830 +#: InvenTree/serializers.py:831 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:853 +#: InvenTree/serializers.py:854 #, fuzzy #| msgid "Part name" msgid "Remote Image" msgstr "商品名称" -#: InvenTree/serializers.py:854 +#: InvenTree/serializers.py:855 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:870 +#: InvenTree/serializers.py:873 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1090 +#: InvenTree/status.py:66 part/serializers.py:1113 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -712,7 +712,7 @@ msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 #: InvenTree/status_codes.py:182 generic/states/tests.py:17 -#: templates/js/translated/table_filters.js:594 +#: templates/js/translated/table_filters.js:598 msgid "Pending" msgstr "待定" @@ -746,7 +746,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1536 +#: InvenTree/status_codes.py:43 order/models.py:1552 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -839,7 +839,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1819 msgid "Merged stock items" msgstr "合并的库存项目" @@ -861,7 +861,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1725 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -975,58 +975,58 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:281 part/models.py:3993 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: build/api.py:281 part/models.py:4012 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:579 +#: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:282 part/models.py:3987 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:4006 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2528 +#: 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:583 +#: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "可选项" #: build/api.py:283 templates/js/translated/table_filters.js:408 -#: templates/js/translated/table_filters.js:575 +#: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1739 -#: templates/js/translated/build.js:2624 +#: build/api.py:285 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2626 #: templates/js/translated/sales_order.js:1929 -#: templates/js/translated/table_filters.js:567 +#: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:293 company/models.py:885 +#: build/api.py:293 company/models.py:890 #: 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:2560 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/model_renderers.js:228 #: 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:571 +#: templates/js/translated/table_filters.js:575 msgid "Available" msgstr "空闲" -#: build/models.py:73 build/templates/build/build_base.html:9 +#: build/models.py:74 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2863 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2856 msgid "Build Order" msgstr "生产订单" -#: build/models.py:74 build/templates/build/build_base.html:13 +#: build/models.py:75 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 @@ -1037,59 +1037,59 @@ msgstr "生产订单" msgid "Build Orders" msgstr "生产订单" -#: build/models.py:115 +#: build/models.py:116 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:126 +#: build/models.py:127 #, fuzzy #| msgid "Order cannot be cancelled" msgid "Build order part cannot be changed" msgstr "无法取消订单" -#: build/models.py:170 +#: build/models.py:173 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:171 order/models.py:427 order/models.py:881 -#: order/models.py:1259 order/models.py:1963 part/admin.py:416 -#: part/models.py:4008 part/templates/part/upload_bom.html:54 +#: build/models.py:174 order/models.py:430 order/models.py:886 +#: order/models.py:1264 order/models.py:1981 part/admin.py:417 +#: part/models.py:4027 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2511 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:2062 +#: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 #: templates/js/translated/sales_order.js:1818 msgid "Reference" msgstr "引用" -#: build/models.py:182 +#: build/models.py:185 #, fuzzy #| msgid "Brief description of the build" msgid "Brief description of the build (optional)" msgstr "生产的简短描述." -#: build/models.py:190 build/templates/build/build_base.html:183 +#: build/models.py:193 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:191 +#: build/models.py:194 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:196 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1039 -#: order/models.py:1384 order/models.py:1516 order/models.py:1517 -#: part/models.py:387 part/models.py:2989 part/models.py:3133 -#: part/models.py:3277 part/models.py:3300 part/models.py:3321 -#: part/models.py:3343 part/models.py:3450 part/models.py:3735 -#: part/models.py:3866 part/models.py:3959 part/models.py:4320 -#: part/serializers.py:1036 part/serializers.py:1601 +#: build/models.py:199 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1044 +#: order/models.py:1389 order/models.py:1532 order/models.py:1533 +#: part/api.py:1520 part/models.py:389 part/models.py:3003 part/models.py:3147 +#: part/models.py:3291 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3458 part/models.py:3754 +#: part/models.py:3885 part/models.py:3978 part/models.py:4339 +#: part/serializers.py:1059 part/serializers.py:1624 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1100,7 +1100,7 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:200 stock/serializers.py:610 +#: stock/serializers.py:252 stock/serializers.py:662 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1108,18 +1108,18 @@ msgstr "此次生产匹配的订单" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1307 templates/js/translated/build.js:1738 -#: templates/js/translated/build.js:2158 templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 #: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1300 -#: templates/js/translated/purchase_order.js:1845 -#: templates/js/translated/purchase_order.js:2004 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 #: templates/js/translated/return_order.js:539 #: templates/js/translated/return_order.js:710 #: templates/js/translated/sales_order.js:300 @@ -1127,151 +1127,151 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/sales_order.js:1598 #: templates/js/translated/sales_order.js:1796 #: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 -#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 -#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 -#: templates/js/translated/stock.js:3204 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1960 +#: templates/js/translated/stock.js:2821 templates/js/translated/stock.js:3054 +#: templates/js/translated/stock.js:3200 msgid "Part" msgstr "商品" -#: build/models.py:204 +#: build/models.py:207 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:209 +#: build/models.py:212 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:213 +#: build/models.py:216 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:218 build/serializers.py:946 -#: templates/js/translated/build.js:1726 +#: build/models.py:221 build/serializers.py:964 +#: templates/js/translated/build.js:1728 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "来源地点" -#: build/models.py:222 +#: build/models.py:225 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:227 +#: build/models.py:230 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:231 +#: build/models.py:234 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:235 +#: build/models.py:238 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:238 +#: build/models.py:241 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:242 +#: build/models.py:245 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:244 +#: build/models.py:247 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:248 +#: build/models.py:251 msgid "Build Status" msgstr "生产状态" -#: build/models.py:252 +#: build/models.py:255 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:261 build/serializers.py:279 order/serializers.py:527 -#: stock/models.py:821 stock/serializers.py:1241 -#: templates/js/translated/purchase_order.js:1125 +#: build/models.py:264 build/serializers.py:280 order/serializers.py:549 +#: stock/models.py:826 stock/serializers.py:1293 +#: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:265 build/serializers.py:280 +#: build/models.py:268 build/serializers.py:281 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:268 order/models.py:291 part/models.py:1074 +#: build/models.py:271 order/models.py:292 part/models.py:1078 #: part/templates/part/part_base.html:310 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:272 +#: build/models.py:275 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:273 +#: build/models.py:276 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:276 order/models.py:485 order/models.py:2008 -#: templates/js/translated/build.js:2243 +#: build/models.py:279 order/models.py:488 order/models.py:2026 +#: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:282 +#: build/models.py:285 msgid "completed by" msgstr "完成人" -#: build/models.py:290 templates/js/translated/build.js:2203 +#: build/models.py:293 templates/js/translated/build.js:2205 msgid "Issued by" msgstr "发布者" -#: build/models.py:291 +#: build/models.py:294 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:299 build/templates/build/build_base.html:204 +#: build/models.py:302 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:145 -#: order/models.py:309 order/templates/order/order_base.html:217 +#: order/models.py:310 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:228 part/models.py:1091 +#: order/templates/order/sales_order_base.html:228 part/models.py:1095 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_base.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 -#: templates/js/translated/build.js:2215 -#: templates/js/translated/purchase_order.js:1760 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 #: templates/js/translated/return_order.js:359 -#: templates/js/translated/table_filters.js:527 +#: templates/js/translated/table_filters.js:531 msgid "Responsible" msgstr "责任人" -#: build/models.py:300 +#: build/models.py:303 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:305 build/templates/build/detail.html:108 +#: build/models.py:308 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:194 #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:145 #: order/templates/order/sales_order_base.html:180 -#: part/templates/part/part_base.html:383 stock/models.py:817 +#: part/templates/part/part_base.html:383 stock/models.py:822 #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1009 msgid "External Link" msgstr "外部链接" -#: build/models.py:310 +#: build/models.py:313 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:313 +#: build/models.py:316 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:320 common/models.py:129 order/admin.py:18 -#: order/models.py:273 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2140 -#: templates/js/translated/purchase_order.js:1707 +#: build/models.py:323 common/models.py:129 order/admin.py:18 +#: order/models.py:274 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 #: templates/js/translated/table_filters.js:48 @@ -1281,58 +1281,63 @@ msgstr "此构建订单的优先级" msgid "Project Code" msgstr "商品二维码" -#: build/models.py:321 +#: build/models.py:324 #, fuzzy #| msgid "Priority of this build order" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:556 +#: build/models.py:559 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:562 +#: build/models.py:565 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:780 build/models.py:855 +#: build/models.py:783 build/models.py:858 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:783 +#: build/models.py:786 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:786 +#: build/models.py:789 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:859 build/serializers.py:222 build/serializers.py:261 -#: build/serializers.py:819 order/models.py:523 order/serializers.py:395 -#: order/serializers.py:522 part/serializers.py:1393 part/serializers.py:1759 -#: stock/models.py:662 stock/models.py:1472 stock/serializers.py:398 +#: build/models.py:862 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:526 order/serializers.py:401 +#: order/serializers.py:544 part/serializers.py:1416 part/serializers.py:1782 +#: stock/models.py:665 stock/models.py:1477 stock/serializers.py:450 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:864 build/serializers.py:227 +#: build/models.py:867 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:1278 +#: build/models.py:924 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1286 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1292 build/models.py:1550 build/serializers.py:209 -#: build/serializers.py:246 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2410 -#: order/models.py:1242 order/models.py:1886 order/serializers.py:1284 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:415 -#: part/forms.py:48 part/models.py:3147 part/models.py:3981 +#: build/models.py:1300 build/models.py:1558 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2430 +#: order/models.py:1247 order/models.py:1902 order/serializers.py:1306 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3161 part/models.py:4000 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1342,26 +1347,26 @@ msgstr "生产备注" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:160 stock/serializers.py:389 +#: stock/admin.py:160 stock/serializers.py:441 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 -#: templates/js/translated/build.js:737 templates/js/translated/build.js:1364 -#: templates/js/translated/build.js:1741 templates/js/translated/build.js:2353 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/model_renderers.js:230 #: templates/js/translated/order.js:304 templates/js/translated/part.js:961 -#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3310 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3332 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:763 -#: templates/js/translated/purchase_order.js:1849 -#: templates/js/translated/purchase_order.js:2068 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 #: templates/js/translated/sales_order.js:317 #: templates/js/translated/sales_order.js:1199 #: templates/js/translated/sales_order.js:1518 @@ -1369,50 +1374,50 @@ msgstr "生产备注" #: templates/js/translated/sales_order.js:1698 #: templates/js/translated/sales_order.js:1824 #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 -#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2985 +#: templates/js/translated/stock.js:3068 msgid "Quantity" msgstr "数量" -#: build/models.py:1293 +#: build/models.py:1301 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1373 +#: build/models.py:1381 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1382 +#: build/models.py:1390 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1392 order/models.py:1837 +#: build/models.py:1400 order/models.py:1853 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1398 order/models.py:1840 +#: build/models.py:1406 order/models.py:1856 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1404 +#: build/models.py:1412 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1465 +#: build/models.py:1473 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1537 build/serializers.py:799 order/serializers.py:1128 -#: order/serializers.py:1149 stock/serializers.py:492 stock/serializers.py:960 -#: stock/serializers.py:1072 stock/templates/stock/item_base.html:10 +#: build/models.py:1545 build/serializers.py:811 order/serializers.py:1150 +#: order/serializers.py:1171 stock/serializers.py:544 stock/serializers.py:1012 +#: stock/serializers.py:1124 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 -#: templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:1742 #: templates/js/translated/sales_order.js:301 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1499 @@ -1420,327 +1425,327 @@ msgstr "在BOM中找不到选定的库存项" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1692 #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2941 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1538 +#: build/models.py:1546 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1551 +#: build/models.py:1559 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1559 +#: build/models.py:1567 msgid "Install into" msgstr "安装到" -#: build/models.py:1560 +#: build/models.py:1568 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:159 build/serializers.py:828 -#: templates/js/translated/build.js:1317 +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:171 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:175 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:179 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:190 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:210 build/serializers.py:247 +#: build/serializers.py:211 build/serializers.py:248 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:268 +#: build/serializers.py:269 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:271 +#: build/serializers.py:272 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:286 order/serializers.py:535 order/serializers.py:1288 -#: stock/serializers.py:409 templates/js/translated/purchase_order.js:1149 +#: build/serializers.py:287 order/serializers.py:557 order/serializers.py:1310 +#: stock/serializers.py:461 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:287 +#: build/serializers.py:288 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:300 +#: build/serializers.py:301 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:301 +#: build/serializers.py:302 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:336 stock/api.py:950 +#: build/serializers.py:337 stock/api.py:970 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:387 build/serializers.py:449 build/serializers.py:527 +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:425 build/serializers.py:497 order/serializers.py:511 -#: order/serializers.py:619 order/serializers.py:1624 part/serializers.py:1056 -#: stock/serializers.py:420 stock/serializers.py:575 stock/serializers.py:671 -#: stock/serializers.py:1104 stock/serializers.py:1360 +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:533 +#: order/serializers.py:641 order/serializers.py:1646 part/serializers.py:1079 +#: stock/serializers.py:472 stock/serializers.py:627 stock/serializers.py:723 +#: stock/serializers.py:1156 stock/serializers.py:1412 #: stock/templates/stock/item_base.html:394 #: templates/js/translated/barcode.js:547 #: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 -#: templates/js/translated/build.js:2368 -#: templates/js/translated/purchase_order.js:1174 -#: templates/js/translated/purchase_order.js:1264 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 #: templates/js/translated/sales_order.js:1511 #: templates/js/translated/sales_order.js:1619 #: templates/js/translated/sales_order.js:1627 #: templates/js/translated/sales_order.js:1706 #: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 -#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 -#: templates/js/translated/stock.js:2842 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2164 +#: templates/js/translated/stock.js:2835 msgid "Location" msgstr "地点" -#: build/serializers.py:426 +#: build/serializers.py:427 #, fuzzy #| msgid "Stock item created" msgid "Stock location for scrapped outputs" msgstr "库存项已创建" -#: build/serializers.py:432 +#: build/serializers.py:433 #, fuzzy #| msgid "Stock Locations" msgid "Discard Allocations" msgstr "仓储地点" -#: build/serializers.py:433 +#: build/serializers.py:434 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:438 +#: build/serializers.py:439 #, fuzzy #| msgid "Location for completed build outputs" msgid "Reason for scrapping build output(s)" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:498 +#: build/serializers.py:499 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:504 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:905 -#: order/models.py:1987 order/serializers.py:543 stock/admin.py:165 -#: stock/serializers.py:722 stock/serializers.py:1248 +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:910 +#: order/models.py:2005 order/serializers.py:565 stock/admin.py:165 +#: stock/serializers.py:774 stock/serializers.py:1300 #: stock/templates/stock/item_base.html:427 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2187 -#: templates/js/translated/purchase_order.js:1304 -#: templates/js/translated/purchase_order.js:1719 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:2139 templates/js/translated/stock.js:2959 +#: templates/js/translated/stock.js:3084 msgid "Status" msgstr "状态" -#: build/serializers.py:510 +#: build/serializers.py:511 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:511 +#: build/serializers.py:512 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:580 +#: build/serializers.py:592 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:581 +#: build/serializers.py:593 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:587 +#: build/serializers.py:599 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:588 +#: build/serializers.py:600 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:615 +#: build/serializers.py:627 msgid "Not permitted" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:628 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:617 +#: build/serializers.py:629 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:639 +#: build/serializers.py:651 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:641 +#: build/serializers.py:653 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:651 +#: build/serializers.py:663 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:656 +#: build/serializers.py:668 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:657 +#: build/serializers.py:669 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:667 templates/js/translated/build.js:315 +#: build/serializers.py:679 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:672 order/serializers.py:280 order/serializers.py:1191 +#: build/serializers.py:684 order/serializers.py:280 order/serializers.py:1213 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:673 +#: build/serializers.py:685 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:683 templates/js/translated/build.js:319 +#: build/serializers.py:695 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:692 templates/js/translated/build.js:303 +#: build/serializers.py:704 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:722 +#: build/serializers.py:734 #, fuzzy #| msgid "Build actions" msgid "Build Line" msgstr "生产操作" -#: build/serializers.py:732 +#: build/serializers.py:744 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:740 +#: build/serializers.py:752 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:776 +#: build/serializers.py:788 #, fuzzy #| msgid "Delete parameters" msgid "Build Line Item" msgstr "删除参数" -#: build/serializers.py:790 +#: build/serializers.py:802 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:805 stock/serializers.py:973 +#: build/serializers.py:817 stock/serializers.py:1025 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:853 order/serializers.py:1182 +#: build/serializers.py:865 order/serializers.py:1204 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:859 +#: build/serializers.py:871 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:866 +#: build/serializers.py:878 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:890 order/serializers.py:1434 +#: build/serializers.py:902 order/serializers.py:1456 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:947 +#: build/serializers.py:965 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:955 +#: build/serializers.py:973 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:956 +#: build/serializers.py:974 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:961 +#: build/serializers.py:979 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:962 +#: build/serializers.py:980 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:967 +#: build/serializers.py:985 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:968 +#: build/serializers.py:986 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:973 +#: build/serializers.py:991 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:974 +#: build/serializers.py:992 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" -#: build/serializers.py:1078 part/models.py:3876 part/models.py:4312 -#: stock/api.py:717 +#: build/serializers.py:1096 part/models.py:3895 part/models.py:4331 +#: stock/api.py:737 msgid "BOM Item" msgstr "BOM项" -#: build/serializers.py:1087 templates/js/translated/index.js:130 +#: build/serializers.py:1105 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1092 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:1411 part/templates/part/part_base.html:210 -#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2612 +#: build/serializers.py:1110 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:1434 part/templates/part/part_base.html:210 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2614 #: templates/js/translated/part.js:709 templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1097 part/serializers.py:1413 -#: templates/js/translated/build.js:2616 +#: build/serializers.py:1115 part/serializers.py:1436 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1102 part/bom.py:172 part/serializers.py:1424 +#: build/serializers.py:1120 part/bom.py:172 part/serializers.py:1447 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1893 msgid "Available Stock" @@ -1873,14 +1878,14 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:284 -#: order/models.py:1277 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:285 +#: order/models.py:1282 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: order/templates/order/sales_order_base.html:192 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2235 templates/js/translated/part.js:1830 -#: templates/js/translated/purchase_order.js:1736 -#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:347 #: templates/js/translated/return_order.js:751 #: templates/js/translated/sales_order.js:835 @@ -1899,9 +1904,9 @@ msgstr "此次生产的截止日期为 %(target)s" #: order/templates/order/return_order_base.html:117 #: order/templates/order/sales_order_base.html:122 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:520 -#: templates/js/translated/table_filters.js:622 -#: templates/js/translated/table_filters.js:663 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Overdue" msgstr "逾期" @@ -1911,8 +1916,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1408 order/models.py:1508 -#: order/models.py:1622 order/models.py:1774 +#: build/templates/build/detail.html:101 order/api.py:1457 order/models.py:1524 +#: order/models.py:1638 order/models.py:1790 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1922,7 +1927,7 @@ msgstr "已完成输出" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2895 +#: templates/js/translated/stock.js:2888 msgid "Sales Order" msgstr "销售订单" @@ -1934,7 +1939,7 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2152 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 msgid "Priority" msgstr "优先级" @@ -1966,8 +1971,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1413 -#: templates/js/translated/purchase_order.js:2186 +#: build/templates/build/detail.html:49 order/models.py:1418 +#: templates/js/translated/purchase_order.js:2190 msgid "Destination" msgstr "目的地" @@ -1981,11 +1986,11 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:163 #: stock/templates/stock/item_base.html:162 -#: templates/js/translated/build.js:1375 -#: templates/js/translated/model_renderers.js:233 -#: templates/js/translated/purchase_order.js:1270 -#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 -#: templates/js/translated/stock.js:3098 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2153 +#: templates/js/translated/stock.js:3091 #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" @@ -1995,7 +2000,7 @@ msgstr "批量" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:151 #: order/templates/order/sales_order_base.html:186 -#: templates/js/translated/build.js:2195 +#: templates/js/translated/build.js:2197 msgid "Created" msgstr "已创建" @@ -2005,7 +2010,7 @@ msgstr "无预计日期" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:202 -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:689 msgid "Completed" msgstr "已完成" @@ -2054,7 +2059,7 @@ msgid "Order required parts" msgstr "订单所需部件" #: build/templates/build/detail.html:192 -#: templates/js/translated/purchase_order.js:803 +#: templates/js/translated/purchase_order.js:795 msgid "Order Parts" msgstr "订购商品" @@ -2232,1508 +2237,1517 @@ msgstr "无效的域名: {domain}" msgid "No plugin" msgstr "子类别" -#: common/models.py:1215 +#: common/models.py:1227 msgid "Restart required" msgstr "需要重启" -#: common/models.py:1217 +#: common/models.py:1229 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1224 +#: common/models.py:1236 #, fuzzy #| msgid "Printing Actions" msgid "Pending migrations" msgstr "打印操作" -#: common/models.py:1225 +#: common/models.py:1237 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1230 +#: common/models.py:1242 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1232 +#: common/models.py:1244 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1236 +#: common/models.py:1248 msgid "Use instance name" msgstr "" -#: common/models.py:1237 +#: common/models.py:1249 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1242 +#: common/models.py:1254 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1243 +#: common/models.py:1255 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1248 company/models.py:106 company/models.py:107 +#: common/models.py:1260 company/models.py:107 company/models.py:108 msgid "Company name" msgstr "公司名称" -#: common/models.py:1249 +#: common/models.py:1261 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1253 +#: common/models.py:1265 msgid "Base URL" msgstr "" -#: common/models.py:1254 +#: common/models.py:1266 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1260 +#: common/models.py:1272 msgid "Default Currency" msgstr "" -#: common/models.py:1261 +#: common/models.py:1273 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1267 +#: common/models.py:1279 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1269 +#: common/models.py:1281 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1272 common/models.py:1328 common/models.py:1341 -#: common/models.py:1349 common/models.py:1358 common/models.py:1367 -#: common/models.py:1569 common/models.py:1591 common/models.py:1700 -#: common/models.py:1963 +#: common/models.py:1284 common/models.py:1340 common/models.py:1353 +#: common/models.py:1361 common/models.py:1370 common/models.py:1379 +#: common/models.py:1581 common/models.py:1603 common/models.py:1712 +#: common/models.py:1975 msgid "days" msgstr "天" -#: common/models.py:1276 +#: common/models.py:1288 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1277 +#: common/models.py:1289 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1282 +#: common/models.py:1294 msgid "Download from URL" msgstr "" -#: common/models.py:1284 +#: common/models.py:1296 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1290 +#: common/models.py:1302 msgid "Download Size Limit" msgstr "" -#: common/models.py:1291 +#: common/models.py:1303 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1297 +#: common/models.py:1309 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1299 +#: common/models.py:1311 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:1304 +#: common/models.py:1316 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1305 +#: common/models.py:1317 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1310 +#: common/models.py:1322 msgid "Require confirm" msgstr "" -#: common/models.py:1311 +#: common/models.py:1323 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1316 +#: common/models.py:1328 msgid "Tree Depth" msgstr "" -#: common/models.py:1318 +#: common/models.py:1330 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1324 +#: common/models.py:1336 msgid "Update Check Interval" msgstr "" -#: common/models.py:1325 +#: common/models.py:1337 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1331 +#: common/models.py:1343 msgid "Automatic Backup" msgstr "" -#: common/models.py:1332 +#: common/models.py:1344 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1337 +#: common/models.py:1349 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1338 +#: common/models.py:1350 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1344 +#: common/models.py:1356 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1346 +#: common/models.py:1358 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1353 +#: common/models.py:1365 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1355 +#: common/models.py:1367 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1362 +#: common/models.py:1374 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1364 +#: common/models.py:1376 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1371 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1383 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1372 +#: common/models.py:1384 #, fuzzy #| msgid "Enable barcode scanner support" msgid "Enable barcode scanner support in the web interface" msgstr "启用条形码扫描支持" -#: common/models.py:1377 +#: common/models.py:1389 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1378 +#: common/models.py:1390 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1384 +#: common/models.py:1396 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1385 +#: common/models.py:1397 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1390 +#: common/models.py:1402 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1391 +#: common/models.py:1403 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1396 +#: common/models.py:1408 msgid "IPN Regex" msgstr "" -#: common/models.py:1397 +#: common/models.py:1409 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1400 +#: common/models.py:1412 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1401 +#: common/models.py:1413 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1406 +#: common/models.py:1418 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1407 +#: common/models.py:1419 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1412 +#: common/models.py:1424 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1413 +#: common/models.py:1425 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1418 +#: common/models.py:1430 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1419 +#: common/models.py:1431 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1424 +#: common/models.py:1436 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1425 +#: common/models.py:1437 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1430 +#: common/models.py:1442 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1431 +#: common/models.py:1443 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1436 part/admin.py:108 part/models.py:3743 -#: report/models.py:180 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:763 +#: common/models.py:1448 part/admin.py:108 part/models.py:3762 +#: report/models.py:180 stock/serializers.py:95 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 msgid "Template" msgstr "模板" -#: common/models.py:1437 +#: common/models.py:1449 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1442 part/admin.py:91 part/admin.py:430 part/models.py:1011 +#: common/models.py:1454 part/admin.py:91 part/admin.py:431 part/models.py:1015 #: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/table_filters.js:721 msgid "Assembly" msgstr "组装" -#: common/models.py:1443 +#: common/models.py:1455 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1448 part/admin.py:95 part/models.py:1017 -#: templates/js/translated/table_filters.js:725 +#: common/models.py:1460 part/admin.py:95 part/models.py:1021 +#: templates/js/translated/table_filters.js:729 msgid "Component" msgstr "组件" -#: common/models.py:1449 +#: common/models.py:1461 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1454 part/admin.py:100 part/models.py:1029 +#: common/models.py:1466 part/admin.py:100 part/models.py:1033 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1455 +#: common/models.py:1467 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1460 part/admin.py:104 part/models.py:1035 -#: templates/js/translated/table_filters.js:751 +#: common/models.py:1472 part/admin.py:104 part/models.py:1039 +#: templates/js/translated/table_filters.js:755 msgid "Salable" msgstr "可销售" -#: common/models.py:1461 +#: common/models.py:1473 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1466 part/admin.py:113 part/models.py:1023 +#: common/models.py:1478 part/admin.py:113 part/models.py:1027 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:771 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1467 +#: common/models.py:1479 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1472 part/admin.py:117 part/models.py:1045 +#: common/models.py:1484 part/admin.py:117 part/models.py:1049 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:771 +#: templates/js/translated/table_filters.js:775 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1473 +#: common/models.py:1485 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1478 +#: common/models.py:1490 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1479 +#: common/models.py:1491 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1484 +#: common/models.py:1496 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1485 +#: common/models.py:1497 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1490 +#: common/models.py:1502 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1491 +#: common/models.py:1503 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1496 templates/js/translated/part.js:107 +#: common/models.py:1508 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1498 +#: common/models.py:1510 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1504 +#: common/models.py:1516 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1505 +#: common/models.py:1517 msgid "Format to display the part name" msgstr "" -#: common/models.py:1511 +#: common/models.py:1523 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1512 +#: common/models.py:1524 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1516 +#: common/models.py:1528 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1518 +#: common/models.py:1530 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1524 +#: common/models.py:1536 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1526 +#: common/models.py:1538 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1532 +#: common/models.py:1544 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1534 +#: common/models.py:1546 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1540 +#: common/models.py:1552 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1542 +#: common/models.py:1554 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1548 +#: common/models.py:1560 msgid "Purchase History Override" msgstr "" -#: common/models.py:1550 +#: common/models.py:1562 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1556 +#: common/models.py:1568 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1566 +#: common/models.py:1578 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1573 +#: common/models.py:1585 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1574 +#: common/models.py:1586 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Active Variants Only" msgstr "" -#: common/models.py:1581 +#: common/models.py:1593 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1587 +#: common/models.py:1599 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1589 +#: common/models.py:1601 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1596 +#: common/models.py:1608 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1597 +#: common/models.py:1609 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1602 +#: common/models.py:1614 msgid "Internal Price Override" msgstr "" -#: common/models.py:1604 +#: common/models.py:1616 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1610 +#: common/models.py:1622 msgid "Enable label printing" msgstr "" -#: common/models.py:1611 +#: common/models.py:1623 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1616 +#: common/models.py:1628 msgid "Label Image DPI" msgstr "" -#: common/models.py:1618 +#: common/models.py:1630 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1624 +#: common/models.py:1636 msgid "Enable Reports" msgstr "" -#: common/models.py:1625 +#: common/models.py:1637 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1630 templates/stats.html:25 +#: common/models.py:1642 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1631 +#: common/models.py:1643 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1636 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1648 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:201 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1637 +#: common/models.py:1649 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1643 +#: common/models.py:1655 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1650 +#: common/models.py:1662 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1657 +#: common/models.py:1669 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1668 +#: common/models.py:1680 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Batch Code Template" msgstr "" -#: common/models.py:1678 +#: common/models.py:1690 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1684 +#: common/models.py:1696 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1689 +#: common/models.py:1701 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1695 +#: common/models.py:1707 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1697 +#: common/models.py:1709 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1704 +#: common/models.py:1716 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1705 +#: common/models.py:1717 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1710 +#: common/models.py:1722 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1711 +#: common/models.py:1723 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1728 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1717 +#: common/models.py:1729 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1721 +#: common/models.py:1733 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1722 +#: common/models.py:1734 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1727 +#: common/models.py:1739 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1729 +#: common/models.py:1741 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1735 +#: common/models.py:1747 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1736 +#: common/models.py:1748 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1741 +#: common/models.py:1753 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1743 +#: common/models.py:1755 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1749 +#: common/models.py:1761 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1751 +#: common/models.py:1763 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1757 +#: common/models.py:1769 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1759 +#: common/models.py:1771 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1765 +#: common/models.py:1777 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1766 +#: common/models.py:1778 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1771 +#: common/models.py:1783 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1773 +#: common/models.py:1785 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1779 +#: common/models.py:1791 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1781 +#: common/models.py:1793 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1787 +#: common/models.py:1799 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1789 +#: common/models.py:1801 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1795 +#: common/models.py:1807 #, fuzzy #| msgid "Create Purchase Order" msgid "Auto Complete Purchase Orders" msgstr "创建采购订单" -#: common/models.py:1797 +#: common/models.py:1809 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1804 +#: common/models.py:1816 msgid "Enable password forgot" msgstr "" -#: common/models.py:1805 +#: common/models.py:1817 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1810 +#: common/models.py:1822 msgid "Enable registration" msgstr "" -#: common/models.py:1811 +#: common/models.py:1823 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1816 +#: common/models.py:1828 msgid "Enable SSO" msgstr "" -#: common/models.py:1817 +#: common/models.py:1829 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1822 +#: common/models.py:1834 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1836 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1830 +#: common/models.py:1842 msgid "Email required" msgstr "" -#: common/models.py:1831 +#: common/models.py:1843 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1836 +#: common/models.py:1848 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1838 +#: common/models.py:1850 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1844 +#: common/models.py:1856 msgid "Mail twice" msgstr "" -#: common/models.py:1845 +#: common/models.py:1857 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1850 +#: common/models.py:1862 msgid "Password twice" msgstr "" -#: common/models.py:1851 +#: common/models.py:1863 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1856 +#: common/models.py:1868 msgid "Allowed domains" msgstr "" -#: common/models.py:1858 +#: common/models.py:1870 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1864 +#: common/models.py:1876 msgid "Group on signup" msgstr "" -#: common/models.py:1865 +#: common/models.py:1877 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1870 +#: common/models.py:1882 msgid "Enforce MFA" msgstr "" -#: common/models.py:1871 +#: common/models.py:1883 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1876 +#: common/models.py:1888 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1878 +#: common/models.py:1890 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1886 +#: common/models.py:1898 msgid "Check for plugin updates" msgstr "" -#: common/models.py:1887 +#: common/models.py:1899 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:1893 +#: common/models.py:1905 msgid "Enable URL integration" msgstr "" -#: common/models.py:1894 +#: common/models.py:1906 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1900 +#: common/models.py:1912 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1901 +#: common/models.py:1913 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1907 +#: common/models.py:1919 msgid "Enable app integration" msgstr "" -#: common/models.py:1908 +#: common/models.py:1920 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1914 +#: common/models.py:1926 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1915 +#: common/models.py:1927 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1921 +#: common/models.py:1933 msgid "Enable event integration" msgstr "" -#: common/models.py:1922 +#: common/models.py:1934 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1928 +#: common/models.py:1940 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:1929 +#: common/models.py:1941 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1934 +#: common/models.py:1946 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1936 +#: common/models.py:1948 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1942 +#: common/models.py:1954 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:1944 +#: common/models.py:1956 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:1950 +#: common/models.py:1962 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1952 +#: common/models.py:1964 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1958 +#: common/models.py:1970 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1960 +#: common/models.py:1972 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1967 +#: common/models.py:1979 msgid "Display Users full names" msgstr "" -#: common/models.py:1968 +#: common/models.py:1980 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:1980 common/models.py:2380 +#: common/models.py:1985 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1987 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:2000 common/models.py:2400 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2021 +#: common/models.py:2041 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:2023 +#: common/models.py:2043 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2029 +#: common/models.py:2049 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2030 +#: common/models.py:2050 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2035 +#: common/models.py:2055 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2036 +#: common/models.py:2056 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2061 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:2042 +#: common/models.py:2062 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2047 +#: common/models.py:2067 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:2048 +#: common/models.py:2068 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2053 +#: common/models.py:2073 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2054 +#: common/models.py:2074 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2059 +#: common/models.py:2079 msgid "Show low stock" msgstr "" -#: common/models.py:2060 +#: common/models.py:2080 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2065 +#: common/models.py:2085 msgid "Show depleted stock" msgstr "" -#: common/models.py:2066 +#: common/models.py:2086 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2071 +#: common/models.py:2091 msgid "Show needed stock" msgstr "" -#: common/models.py:2072 +#: common/models.py:2092 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2077 +#: common/models.py:2097 msgid "Show expired stock" msgstr "" -#: common/models.py:2078 +#: common/models.py:2098 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2083 +#: common/models.py:2103 msgid "Show stale stock" msgstr "" -#: common/models.py:2084 +#: common/models.py:2104 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2089 +#: common/models.py:2109 msgid "Show pending builds" msgstr "" -#: common/models.py:2090 +#: common/models.py:2110 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2095 +#: common/models.py:2115 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2096 +#: common/models.py:2116 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2101 +#: common/models.py:2121 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2102 +#: common/models.py:2122 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2107 +#: common/models.py:2127 msgid "Show overdue POs" msgstr "" -#: common/models.py:2108 +#: common/models.py:2128 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2113 +#: common/models.py:2133 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2114 +#: common/models.py:2134 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2119 +#: common/models.py:2139 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2120 +#: common/models.py:2140 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2125 +#: common/models.py:2145 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2126 +#: common/models.py:2146 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2131 +#: common/models.py:2151 msgid "Show News" msgstr "" -#: common/models.py:2132 +#: common/models.py:2152 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2137 +#: common/models.py:2157 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2139 +#: common/models.py:2159 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2145 +#: common/models.py:2165 msgid "Default label printer" msgstr "" -#: common/models.py:2147 +#: common/models.py:2167 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2153 +#: common/models.py:2173 msgid "Inline report display" msgstr "" -#: common/models.py:2155 +#: common/models.py:2175 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2161 +#: common/models.py:2181 msgid "Search Parts" msgstr "" -#: common/models.py:2162 +#: common/models.py:2182 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2187 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2188 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2193 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2174 +#: common/models.py:2194 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2179 +#: common/models.py:2199 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2180 +#: common/models.py:2200 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2185 +#: common/models.py:2205 msgid "Search Categories" msgstr "" -#: common/models.py:2186 +#: common/models.py:2206 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2191 +#: common/models.py:2211 msgid "Search Stock" msgstr "" -#: common/models.py:2192 +#: common/models.py:2212 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2197 +#: common/models.py:2217 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2199 +#: common/models.py:2219 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2205 +#: common/models.py:2225 msgid "Search Locations" msgstr "" -#: common/models.py:2206 +#: common/models.py:2226 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2211 +#: common/models.py:2231 msgid "Search Companies" msgstr "" -#: common/models.py:2212 +#: common/models.py:2232 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2217 +#: common/models.py:2237 msgid "Search Build Orders" msgstr "" -#: common/models.py:2218 +#: common/models.py:2238 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2223 +#: common/models.py:2243 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2224 +#: common/models.py:2244 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2229 +#: common/models.py:2249 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2231 +#: common/models.py:2251 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2237 +#: common/models.py:2257 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2238 +#: common/models.py:2258 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2243 +#: common/models.py:2263 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2245 +#: common/models.py:2265 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2251 +#: common/models.py:2271 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2252 +#: common/models.py:2272 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2257 +#: common/models.py:2277 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2259 +#: common/models.py:2279 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2265 +#: common/models.py:2285 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2267 +#: common/models.py:2287 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2273 +#: common/models.py:2293 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2274 +#: common/models.py:2294 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2279 +#: common/models.py:2299 msgid "Whole Word Search" msgstr "" -#: common/models.py:2280 +#: common/models.py:2300 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2285 +#: common/models.py:2305 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2286 +#: common/models.py:2306 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2291 +#: common/models.py:2311 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2292 +#: common/models.py:2312 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2297 +#: common/models.py:2317 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2298 +#: common/models.py:2318 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2303 +#: common/models.py:2323 msgid "Date Format" msgstr "" -#: common/models.py:2304 +#: common/models.py:2324 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2317 part/templates/part/detail.html:41 +#: common/models.py:2337 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2318 +#: common/models.py:2338 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2323 part/templates/part/detail.html:62 +#: common/models.py:2343 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2325 +#: common/models.py:2345 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2331 +#: common/models.py:2351 msgid "Table String Length" msgstr "" -#: common/models.py:2333 +#: common/models.py:2353 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2339 +#: common/models.py:2359 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2340 +#: common/models.py:2360 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2345 +#: common/models.py:2365 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2347 +#: common/models.py:2367 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2353 +#: common/models.py:2373 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2355 +#: common/models.py:2375 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2361 +#: common/models.py:2381 msgid "Receive error reports" msgstr "" -#: common/models.py:2362 +#: common/models.py:2382 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2367 +#: common/models.py:2387 msgid "Last used printing machines" msgstr "" -#: common/models.py:2368 +#: common/models.py:2388 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2411 +#: common/models.py:2431 msgid "Price break quantity" msgstr "" -#: common/models.py:2418 company/serializers.py:484 order/admin.py:42 -#: order/models.py:1316 order/models.py:2208 +#: common/models.py:2438 company/serializers.py:484 order/admin.py:42 +#: order/models.py:1321 order/models.py:2226 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 msgid "Price" msgstr "价格" -#: common/models.py:2419 +#: common/models.py:2439 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2590 common/models.py:2775 +#: common/models.py:2610 common/models.py:2795 msgid "Endpoint" msgstr "" -#: common/models.py:2591 +#: common/models.py:2611 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2601 +#: common/models.py:2621 msgid "Name for this webhook" msgstr "" -#: common/models.py:2605 machine/models.py:39 part/admin.py:88 -#: part/models.py:1040 plugin/models.py:56 +#: common/models.py:2625 machine/models.py:39 part/admin.py:88 +#: part/models.py:1044 plugin/models.py:56 #: templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:516 -#: templates/js/translated/table_filters.js:712 users/models.py:169 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 users/models.py:169 msgid "Active" msgstr "" -#: common/models.py:2605 +#: common/models.py:2625 msgid "Is this webhook active" msgstr "" -#: common/models.py:2621 users/models.py:148 +#: common/models.py:2641 users/models.py:148 msgid "Token" msgstr "令牌" -#: common/models.py:2622 +#: common/models.py:2642 msgid "Token for access" msgstr "" -#: common/models.py:2630 +#: common/models.py:2650 msgid "Secret" msgstr "" -#: common/models.py:2631 +#: common/models.py:2651 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2739 +#: common/models.py:2759 msgid "Message ID" msgstr "" -#: common/models.py:2740 +#: common/models.py:2760 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2748 +#: common/models.py:2768 msgid "Host" msgstr "" -#: common/models.py:2749 +#: common/models.py:2769 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2757 +#: common/models.py:2777 msgid "Header" msgstr "" -#: common/models.py:2758 +#: common/models.py:2778 msgid "Header of this message" msgstr "" -#: common/models.py:2765 +#: common/models.py:2785 msgid "Body" msgstr "" -#: common/models.py:2766 +#: common/models.py:2786 msgid "Body of this message" msgstr "" -#: common/models.py:2776 +#: common/models.py:2796 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2781 +#: common/models.py:2801 msgid "Worked on" msgstr "" -#: common/models.py:2782 +#: common/models.py:2802 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2908 +#: common/models.py:2928 msgid "Id" msgstr "" -#: common/models.py:2910 templates/js/translated/company.js:955 +#: common/models.py:2930 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2914 templates/js/translated/news.js:60 +#: common/models.py:2934 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2916 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2936 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:2918 templates/js/translated/news.js:52 +#: common/models.py:2938 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Read" msgstr "" -#: common/models.py:2921 +#: common/models.py:2941 msgid "Was this news item read?" msgstr "" -#: common/models.py:2938 company/models.py:154 part/models.py:924 +#: common/models.py:2958 company/models.py:155 part/models.py:928 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3743,41 +3757,41 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2938 +#: common/models.py:2958 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:2980 +#: common/models.py:3000 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:2999 +#: common/models.py:3019 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:3006 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3026 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3007 +#: common/models.py:3027 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:3014 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3034 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3015 +#: common/models.py:3035 msgid "Unit definition" msgstr "" @@ -3929,293 +3943,293 @@ msgstr "已导入商品" msgid "Previous Step" msgstr "" -#: company/models.py:112 +#: company/models.py:113 msgid "Company description" msgstr "公司简介" -#: company/models.py:113 +#: company/models.py:114 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:118 company/templates/company/company_base.html:100 +#: company/models.py:119 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:522 msgid "Website" msgstr "网站" -#: company/models.py:118 +#: company/models.py:119 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:123 +#: company/models.py:124 msgid "Phone number" msgstr "电话号码" -#: company/models.py:125 +#: company/models.py:126 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:132 +#: company/models.py:133 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:137 company/templates/company/company_base.html:139 -#: order/models.py:318 order/templates/order/order_base.html:203 +#: company/models.py:138 company/templates/company/company_base.html:139 +#: order/models.py:319 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:214 msgid "Contact" msgstr "联系人" -#: company/models.py:139 +#: company/models.py:140 msgid "Point of contact" msgstr "" -#: company/models.py:145 +#: company/models.py:146 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:159 +#: company/models.py:160 msgid "is customer" msgstr "是客户" -#: company/models.py:160 +#: company/models.py:161 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:165 +#: company/models.py:166 msgid "is supplier" msgstr "是供应商" -#: company/models.py:166 +#: company/models.py:167 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:171 +#: company/models.py:172 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:172 +#: company/models.py:173 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:180 +#: company/models.py:181 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:265 company/models.py:374 +#: company/models.py:268 company/models.py:377 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:733 +#: company/templates/company/company_base.html:12 stock/api.py:753 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "公司" -#: company/models.py:375 +#: company/models.py:378 #, fuzzy #| msgid "Delete Company" msgid "Select company" msgstr "删除该公司" -#: company/models.py:380 +#: company/models.py:383 #, fuzzy #| msgid "Address" msgid "Address title" msgstr "地址" -#: company/models.py:381 +#: company/models.py:384 msgid "Title describing the address entry" msgstr "" -#: company/models.py:387 +#: company/models.py:390 #, fuzzy #| msgid "Company address" msgid "Primary address" msgstr "公司地址" -#: company/models.py:388 +#: company/models.py:391 #, fuzzy #| msgid "Contact email address" msgid "Set as primary address" msgstr "联系人电子邮件" -#: company/models.py:393 templates/js/translated/company.js:904 +#: company/models.py:396 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:394 +#: company/models.py:397 #, fuzzy #| msgid "Address" msgid "Address line 1" msgstr "地址" -#: company/models.py:400 templates/js/translated/company.js:905 +#: company/models.py:403 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:401 +#: company/models.py:404 #, fuzzy #| msgid "Address" msgid "Address line 2" msgstr "地址" -#: company/models.py:407 company/models.py:408 +#: company/models.py:410 company/models.py:411 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:414 +#: company/models.py:417 msgid "City/Region" msgstr "" -#: company/models.py:415 +#: company/models.py:418 msgid "Postal code city/region" msgstr "" -#: company/models.py:421 +#: company/models.py:424 msgid "State/Province" msgstr "" -#: company/models.py:422 +#: company/models.py:425 msgid "State or province" msgstr "" -#: company/models.py:428 templates/js/translated/company.js:991 +#: company/models.py:431 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:429 +#: company/models.py:432 #, fuzzy #| msgid "Address" msgid "Address country" msgstr "地址" -#: company/models.py:435 +#: company/models.py:438 msgid "Courier shipping notes" msgstr "" -#: company/models.py:436 +#: company/models.py:439 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:442 +#: company/models.py:445 #, fuzzy #| msgid "Internal company name" msgid "Internal shipping notes" msgstr "内部公司名称" -#: company/models.py:443 +#: company/models.py:446 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:450 +#: company/models.py:453 #, fuzzy #| msgid "Description (optional)" msgid "Link to address information (external)" msgstr "描述 (可选)" -#: company/models.py:481 company/models.py:780 stock/models.py:749 -#: stock/serializers.py:199 stock/templates/stock/item_base.html:142 +#: company/models.py:484 company/models.py:785 stock/models.py:754 +#: stock/serializers.py:251 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:483 company/models.py:782 +#: company/models.py:486 company/models.py:787 msgid "Select part" msgstr "选择商品" -#: company/models.py:492 company/templates/company/company_base.html:76 +#: company/models.py:495 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:467 +#: company/templates/company/supplier_part.html:145 part/serializers.py:490 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:792 +#: templates/js/translated/table_filters.js:796 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:493 +#: company/models.py:496 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:499 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:477 +#: company/models.py:502 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:500 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1620 templates/js/translated/part.js:1800 -#: templates/js/translated/purchase_order.js:1848 -#: templates/js/translated/purchase_order.js:2050 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 msgid "MPN" msgstr "" -#: company/models.py:500 +#: company/models.py:503 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:507 +#: company/models.py:510 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:515 +#: company/models.py:518 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:572 company/models.py:599 company/models.py:806 +#: company/models.py:575 company/models.py:602 company/models.py:811 #: 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:606 +#: company/models.py:609 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:612 +#: company/models.py:615 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2354 templates/js/translated/company.js:1156 +#: stock/models.py:2438 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1492 -#: templates/js/translated/stock.js:1502 +#: templates/js/translated/stock.js:1512 msgid "Value" msgstr "数值" -#: company/models.py:613 +#: company/models.py:616 msgid "Parameter value" msgstr "参数值" -#: company/models.py:620 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1004 part/models.py:3594 +#: company/models.py:623 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1008 part/models.py:3613 #: part/templates/part/part_base.html:284 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1511 #: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 msgid "Units" msgstr "单位" -#: company/models.py:621 +#: company/models.py:624 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:720 +#: company/models.py:725 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:727 +#: company/models.py:732 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Pack units must be greater than zero" msgstr "数量必须大于0" -#: company/models.py:741 +#: company/models.py:746 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:790 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:129 order/models.py:450 +#: company/models.py:795 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:129 order/models.py:453 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:451 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:474 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 @@ -4223,93 +4237,93 @@ msgstr "" #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1768 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1686 -#: templates/js/translated/table_filters.js:796 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:800 msgid "Supplier" msgstr "供应商" -#: company/models.py:791 +#: company/models.py:796 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:797 part/serializers.py:462 +#: company/models.py:802 part/serializers.py:485 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:807 +#: company/models.py:812 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:814 +#: company/models.py:819 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:822 +#: company/models.py:827 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:829 company/templates/company/supplier_part.html:187 -#: part/admin.py:417 part/models.py:4016 part/templates/part/upload_bom.html:59 +#: company/models.py:834 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4035 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:505 +#: stock/serializers.py:557 msgid "Note" msgstr "备注" -#: company/models.py:838 part/models.py:1962 +#: company/models.py:843 part/models.py:1966 msgid "base cost" msgstr "" -#: company/models.py:839 part/models.py:1963 +#: company/models.py:844 part/models.py:1967 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:846 company/templates/company/supplier_part.html:160 -#: stock/admin.py:224 stock/models.py:780 stock/serializers.py:1258 +#: company/models.py:851 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:785 stock/serializers.py:1310 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2394 +#: templates/js/translated/stock.js:2387 msgid "Packaging" msgstr "打包" -#: company/models.py:847 +#: company/models.py:852 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:852 templates/js/translated/company.js:1641 +#: company/models.py:857 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:314 -#: templates/js/translated/purchase_order.js:845 -#: templates/js/translated/purchase_order.js:1099 -#: templates/js/translated/purchase_order.js:2081 -#: templates/js/translated/purchase_order.js:2098 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 msgid "Pack Quantity" msgstr "" -#: company/models.py:854 +#: company/models.py:859 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:873 part/models.py:1969 +#: company/models.py:878 part/models.py:1973 msgid "multiple" msgstr "" -#: company/models.py:874 +#: company/models.py:879 msgid "Order multiple" msgstr "" -#: company/models.py:886 +#: company/models.py:891 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:892 +#: company/models.py:897 msgid "Availability Updated" msgstr "" -#: company/models.py:893 +#: company/models.py:898 msgid "Date of last update of availability data" msgstr "" @@ -4373,17 +4387,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:893 -#: order/models.py:1975 order/templates/order/return_order_base.html:131 -#: order/templates/order/sales_order_base.html:144 stock/models.py:802 -#: stock/models.py:803 stock/serializers.py:1008 +#: company/templates/company/company_base.html:86 order/models.py:898 +#: order/models.py:1993 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:807 +#: stock/models.py:808 stock/serializers.py:1060 #: stock/templates/stock/item_base.html:405 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2930 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/stock.js:2923 +#: templates/js/translated/table_filters.js:804 msgid "Customer" msgstr "客户" @@ -4391,7 +4405,7 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" -#: company/templates/company/company_base.html:118 order/models.py:328 +#: company/templates/company/company_base.html:118 order/models.py:329 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:221 @@ -4654,11 +4668,11 @@ msgid "Addresses" msgstr "地址" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:760 +#: company/templates/company/supplier_part.html:24 stock/models.py:765 #: stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1590 -#: templates/js/translated/purchase_order.js:761 -#: templates/js/translated/stock.js:2250 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2243 msgid "Supplier Part" msgstr "供应商商品" @@ -4704,11 +4718,11 @@ msgid "No supplier information available" msgstr "" #: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:461 +#: part/bom.py:311 part/serializers.py:484 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1847 -#: templates/js/translated/purchase_order.js:2025 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 msgid "SKU" msgstr "" @@ -4756,12 +4770,12 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:223 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:69 -#: stock/serializers.py:708 stock/templates/stock/location.html:170 +#: stock/serializers.py:760 stock/templates/stock/location.html:170 #: stock/templates/stock/location.html:184 #: stock/templates/stock/location.html:196 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2730 #: users/models.py:193 msgid "Stock Items" msgstr "库存项" @@ -4817,7 +4831,9 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:138 report/models.py:322 +#: label/models.py:138 part/models.py:3484 report/models.py:322 +#: templates/js/translated/part.js:2891 +#: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "已启用" @@ -4877,62 +4893,62 @@ msgstr "商品二维码" msgid "QR code" msgstr "" -#: machine/machine_types/label_printer.py:213 +#: machine/machine_types/label_printer.py:217 msgid "Copies" msgstr "" -#: machine/machine_types/label_printer.py:214 +#: machine/machine_types/label_printer.py:218 #, fuzzy #| msgid "Number of stock items to build" msgid "Number of copies to print for each label" msgstr "要生产的项目数量" -#: machine/machine_types/label_printer.py:229 +#: machine/machine_types/label_printer.py:233 #, fuzzy #| msgid "Connection error" msgid "Connected" msgstr "连接错误" -#: machine/machine_types/label_printer.py:230 order/api.py:1412 +#: machine/machine_types/label_printer.py:234 order/api.py:1461 #: templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" -#: machine/machine_types/label_printer.py:231 +#: machine/machine_types/label_printer.py:235 #, fuzzy #| msgid "Print Label" msgid "Printing" msgstr "打印标签" -#: machine/machine_types/label_printer.py:232 +#: machine/machine_types/label_printer.py:236 msgid "No media" msgstr "" -#: machine/machine_types/label_printer.py:233 +#: machine/machine_types/label_printer.py:237 #, fuzzy #| msgid "Rejected" msgid "Disconnected" msgstr "已拒绝" -#: machine/machine_types/label_printer.py:240 +#: machine/machine_types/label_printer.py:244 #, fuzzy #| msgid "Label name" msgid "Label Printer" msgstr "标签名称" -#: machine/machine_types/label_printer.py:241 +#: machine/machine_types/label_printer.py:245 #, fuzzy #| msgid "Allocate selected items" msgid "Directly print labels for various items." msgstr "分配选定项目" -#: machine/machine_types/label_printer.py:247 +#: machine/machine_types/label_printer.py:251 #, fuzzy #| msgid "Print actions" msgid "Printer Location" msgstr "打印操作" -#: machine/machine_types/label_printer.py:248 +#: machine/machine_types/label_printer.py:252 msgid "Scope the printer to a specific location" msgstr "" @@ -4996,20 +5012,20 @@ msgstr "" msgid "Config type" msgstr "" -#: order/admin.py:30 order/models.py:88 +#: order/admin.py:30 order/models.py:89 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/sales_order.js:1847 msgid "Total Price" msgstr "" -#: order/api.py:233 +#: order/api.py:236 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1406 order/models.py:1366 order/models.py:1462 +#: order/api.py:1455 order/models.py:1371 order/models.py:1478 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -5017,417 +5033,417 @@ msgstr "" #: templates/email/overdue_purchase_order.html:15 #: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:168 -#: templates/js/translated/purchase_order.js:762 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2223 templates/js/translated/stock.js:2871 msgid "Purchase Order" msgstr "" -#: order/api.py:1410 order/models.py:2175 order/models.py:2226 +#: order/api.py:1459 order/models.py:2193 order/models.py:2244 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2912 +#: templates/js/translated/stock.js:2905 #, fuzzy #| msgid "Returned" msgid "Return Order" msgstr "已退回" -#: order/models.py:89 +#: order/models.py:90 #, fuzzy #| msgid "User or group responsible for this order" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:94 order/serializers.py:54 +#: order/models.py:95 order/serializers.py:54 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:97 order/serializers.py:55 +#: order/models.py:98 order/serializers.py:55 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:233 +#: order/models.py:234 #, fuzzy #| msgid "Build output does not match the parent build" msgid "Contact does not match selected company" msgstr "生产产出与对应生产不匹配" -#: order/models.py:265 +#: order/models.py:266 #, fuzzy #| msgid "Description (optional)" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:274 +#: order/models.py:275 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:278 order/models.py:1271 order/models.py:1674 +#: order/models.py:279 order/models.py:1276 order/models.py:1690 msgid "Link to external page" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:300 +#: order/models.py:301 msgid "Created By" msgstr "" -#: order/models.py:308 +#: order/models.py:309 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:319 +#: order/models.py:320 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:329 +#: order/models.py:330 #, fuzzy #| msgid "User or group responsible for this order" msgid "Company address for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:428 order/models.py:882 +#: order/models.py:431 order/models.py:887 msgid "Order reference" msgstr "" -#: order/models.py:436 order/models.py:906 +#: order/models.py:439 order/models.py:911 msgid "Purchase order status" msgstr "" -#: order/models.py:451 +#: order/models.py:454 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:462 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1699 +#: order/models.py:465 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 msgid "Supplier Reference" msgstr "" -#: order/models.py:463 +#: order/models.py:466 msgid "Supplier order reference code" msgstr "" -#: order/models.py:472 +#: order/models.py:475 msgid "received by" msgstr "" -#: order/models.py:478 order/models.py:2001 +#: order/models.py:481 order/models.py:2019 msgid "Issue Date" msgstr "" -#: order/models.py:479 order/models.py:2002 +#: order/models.py:482 order/models.py:2020 msgid "Date order was issued" msgstr "" -#: order/models.py:486 order/models.py:2009 +#: order/models.py:489 order/models.py:2027 msgid "Date order was completed" msgstr "" -#: order/models.py:530 +#: order/models.py:533 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:724 +#: order/models.py:727 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:894 +#: order/models.py:899 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:917 order/models.py:1994 +#: order/models.py:922 order/models.py:2012 msgid "Customer Reference " msgstr "" -#: order/models.py:918 order/models.py:1995 +#: order/models.py:923 order/models.py:2013 msgid "Customer order reference code" msgstr "" -#: order/models.py:922 order/models.py:1628 +#: order/models.py:927 order/models.py:1644 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:931 +#: order/models.py:936 msgid "shipped by" msgstr "" -#: order/models.py:982 +#: order/models.py:987 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:987 +#: order/models.py:992 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:991 templates/js/translated/sales_order.js:506 +#: order/models.py:996 templates/js/translated/sales_order.js:506 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:996 +#: order/models.py:1001 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1243 +#: order/models.py:1248 msgid "Item quantity" msgstr "" -#: order/models.py:1260 +#: order/models.py:1265 msgid "Line item reference" msgstr "" -#: order/models.py:1267 +#: order/models.py:1272 msgid "Line item notes" msgstr "" -#: order/models.py:1279 +#: order/models.py:1284 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1300 +#: order/models.py:1305 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1306 +#: order/models.py:1311 msgid "Context" msgstr "" -#: order/models.py:1307 +#: order/models.py:1312 msgid "Additional context for this line" msgstr "" -#: order/models.py:1317 +#: order/models.py:1322 msgid "Unit price" msgstr "" -#: order/models.py:1350 +#: order/models.py:1355 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1357 +#: order/models.py:1362 msgid "deleted" msgstr "" -#: order/models.py:1365 order/models.py:1461 order/models.py:1507 -#: order/models.py:1621 order/models.py:1773 order/models.py:2174 -#: order/models.py:2225 templates/js/translated/sales_order.js:1488 +#: order/models.py:1370 order/models.py:1477 order/models.py:1523 +#: order/models.py:1637 order/models.py:1789 order/models.py:2192 +#: order/models.py:2243 templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" -#: order/models.py:1385 +#: order/models.py:1390 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1392 order/templates/order/order_base.html:196 +#: order/models.py:1397 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 -#: templates/js/translated/purchase_order.js:1302 -#: templates/js/translated/purchase_order.js:2166 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 #: templates/js/translated/return_order.js:764 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:598 +#: templates/js/translated/table_filters.js:602 msgid "Received" msgstr "" -#: order/models.py:1393 +#: order/models.py:1398 msgid "Number of items received" msgstr "" -#: order/models.py:1401 stock/models.py:921 stock/serializers.py:326 +#: order/models.py:1406 stock/models.py:926 stock/serializers.py:378 #: stock/templates/stock/item_base.html:183 -#: templates/js/translated/stock.js:2281 +#: templates/js/translated/stock.js:2274 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1402 +#: order/models.py:1407 msgid "Unit purchase price" msgstr "" -#: order/models.py:1417 +#: order/models.py:1422 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1495 +#: order/models.py:1511 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1500 +#: order/models.py:1516 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1526 part/templates/part/part_pricing.html:107 +#: order/models.py:1542 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:1527 +#: order/models.py:1543 msgid "Unit sale price" msgstr "" -#: order/models.py:1537 +#: order/models.py:1553 msgid "Shipped quantity" msgstr "" -#: order/models.py:1629 +#: order/models.py:1645 msgid "Date of shipment" msgstr "" -#: order/models.py:1635 templates/js/translated/sales_order.js:1036 +#: order/models.py:1651 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1636 +#: order/models.py:1652 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1644 +#: order/models.py:1660 msgid "Checked By" msgstr "" -#: order/models.py:1645 +#: order/models.py:1661 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1652 order/models.py:1863 order/serializers.py:1299 -#: order/serializers.py:1409 templates/js/translated/model_renderers.js:446 +#: order/models.py:1668 order/models.py:1879 order/serializers.py:1321 +#: order/serializers.py:1431 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1653 +#: order/models.py:1669 msgid "Shipment number" msgstr "" -#: order/models.py:1661 +#: order/models.py:1677 msgid "Tracking Number" msgstr "" -#: order/models.py:1662 +#: order/models.py:1678 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1669 +#: order/models.py:1685 msgid "Invoice Number" msgstr "" -#: order/models.py:1670 +#: order/models.py:1686 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1690 +#: order/models.py:1706 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1693 +#: order/models.py:1709 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1809 order/models.py:1811 +#: order/models.py:1825 order/models.py:1827 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1818 +#: order/models.py:1834 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1821 +#: order/models.py:1837 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1824 +#: order/models.py:1840 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1843 order/serializers.py:1176 +#: order/models.py:1859 order/serializers.py:1198 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1846 +#: order/models.py:1862 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1847 plugin/base/barcodes/api.py:481 +#: order/models.py:1863 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1855 +#: order/models.py:1871 msgid "Line" msgstr "" -#: order/models.py:1864 +#: order/models.py:1880 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1877 order/models.py:2182 +#: order/models.py:1893 order/models.py:2200 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1878 +#: order/models.py:1894 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1887 +#: order/models.py:1903 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1964 +#: order/models.py:1982 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1976 +#: order/models.py:1994 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1988 +#: order/models.py:2006 msgid "Return order status" msgstr "" -#: order/models.py:2167 +#: order/models.py:2185 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2183 +#: order/models.py:2201 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:2189 +#: order/models.py:2207 msgid "Received Date" msgstr "" -#: order/models.py:2190 +#: order/models.py:2208 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2201 templates/js/translated/return_order.js:733 +#: order/models.py:2219 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2202 +#: order/models.py:2220 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2209 +#: order/models.py:2227 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -5435,145 +5451,165 @@ msgstr "" msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:281 order/serializers.py:1192 +#: order/serializers.py:281 order/serializers.py:1214 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:291 order/serializers.py:1202 +#: order/serializers.py:291 order/serializers.py:1224 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:402 +#: order/serializers.py:408 msgid "Order is not open" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:429 +#, fuzzy +#| msgid "Part Pricing" +msgid "Auto Pricing" +msgstr "商品价格" + +#: order/serializers.py:431 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:441 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:445 +#: order/serializers.py:447 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Merge Items" +msgstr "选择库存项" + +#: order/serializers.py:449 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:467 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:448 +#: order/serializers.py:470 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:456 +#: order/serializers.py:478 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:457 +#: order/serializers.py:479 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:496 order/serializers.py:1270 +#: order/serializers.py:518 order/serializers.py:1292 msgid "Line Item" msgstr "" -#: order/serializers.py:502 +#: order/serializers.py:524 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:512 order/serializers.py:620 order/serializers.py:1625 +#: order/serializers.py:534 order/serializers.py:642 order/serializers.py:1647 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:528 templates/js/translated/purchase_order.js:1126 +#: order/serializers.py:550 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:536 templates/js/translated/purchase_order.js:1150 +#: order/serializers.py:558 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:547 templates/js/translated/barcode.js:52 +#: order/serializers.py:569 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:548 +#: order/serializers.py:570 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:564 +#: order/serializers.py:586 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:588 +#: order/serializers.py:610 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:636 order/serializers.py:1641 +#: order/serializers.py:658 order/serializers.py:1663 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:652 +#: order/serializers.py:674 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:663 +#: order/serializers.py:685 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1020 +#: order/serializers.py:1042 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1080 +#: order/serializers.py:1102 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1140 order/serializers.py:1279 +#: order/serializers.py:1162 order/serializers.py:1301 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1159 +#: order/serializers.py:1181 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1289 +#: order/serializers.py:1311 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1311 order/serializers.py:1417 +#: order/serializers.py:1333 order/serializers.py:1439 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1314 order/serializers.py:1420 +#: order/serializers.py:1336 order/serializers.py:1442 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1361 +#: order/serializers.py:1383 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1368 +#: order/serializers.py:1390 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1595 +#: order/serializers.py:1617 msgid "Return order line item" msgstr "" -#: order/serializers.py:1601 +#: order/serializers.py:1623 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1604 +#: order/serializers.py:1626 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1633 +#: order/serializers.py:1655 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1711 +#: order/serializers.py:1733 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" @@ -5768,9 +5804,9 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 -#: templates/js/translated/build.js:1624 -#: templates/js/translated/purchase_order.js:706 -#: templates/js/translated/purchase_order.js:1232 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 #: templates/js/translated/return_order.js:506 #: templates/js/translated/sales_order.js:1109 #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 @@ -5834,7 +5870,7 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:433 +#: templates/js/translated/purchase_order.js:414 #: templates/js/translated/return_order.js:459 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" @@ -5899,7 +5935,7 @@ msgstr "" #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1072 -#: templates/js/translated/purchase_order.js:1749 +#: templates/js/translated/purchase_order.js:1753 #: templates/js/translated/return_order.js:381 #: templates/js/translated/sales_order.js:855 msgid "Total Cost" @@ -6001,12 +6037,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:403 part/models.py:3867 part/stocktake.py:218 +#: part/admin.py:39 part/admin.py:404 part/models.py:3886 part/stocktake.py:218 #: stock/admin.py:153 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:410 part/models.py:3868 part/stocktake.py:219 +#: part/admin.py:41 part/admin.py:411 part/models.py:3887 part/stocktake.py:219 #: stock/admin.py:157 msgid "Part Name" msgstr "" @@ -6015,20 +6051,20 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:899 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:903 part/templates/part/part_base.html:269 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 -#: templates/js/translated/stock.js:2006 +#: templates/js/translated/stock.js:1999 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:908 part/templates/part/part_base.html:277 +#: part/admin.py:50 part/models.py:912 part/templates/part/part_base.html:277 #: report/models.py:193 templates/js/translated/part.js:1231 #: templates/js/translated/part.js:2347 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:317 part/models.py:881 +#: part/admin.py:53 part/admin.py:317 part/models.py:885 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -6055,11 +6091,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:867 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:871 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:995 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:999 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6078,21 +6114,21 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3065 part/models.py:3079 +#: part/admin.py:155 part/models.py:3079 part/models.py:3093 #: templates/js/translated/part.js:969 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3072 part/models.py:3086 +#: part/admin.py:158 part/models.py:3086 part/models.py:3100 #: templates/js/translated/part.js:979 msgid "Maximum Cost" msgstr "" -#: part/admin.py:306 part/admin.py:392 stock/admin.py:58 stock/admin.py:211 +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 msgid "Parent ID" msgstr "" -#: part/admin.py:310 part/admin.py:399 stock/admin.py:62 +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 msgid "Parent Name" msgstr "" @@ -6101,9 +6137,10 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:323 part/models.py:388 part/serializers.py:343 -#: 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/admin.py:323 part/models.py:390 part/serializers.py:252 +#: part/serializers.py:366 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 @@ -6112,63 +6149,124 @@ msgstr "类别路径" msgid "Parts" msgstr "商品" -#: part/admin.py:383 +#: part/admin.py:384 msgid "BOM Level" msgstr "" -#: part/admin.py:386 +#: part/admin.py:387 msgid "BOM Item ID" msgstr "" -#: part/admin.py:396 +#: part/admin.py:397 msgid "Parent IPN" msgstr "" -#: part/admin.py:407 part/models.py:3869 +#: part/admin.py:408 part/models.py:3888 msgid "Part IPN" msgstr "" -#: part/admin.py:420 part/serializers.py:1190 +#: part/admin.py:421 part/serializers.py:1213 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:425 part/serializers.py:1205 +#: part/admin.py:426 part/serializers.py:1228 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:534 +#: part/api.py:118 +msgid "Starred" +msgstr "" + +#: part/api.py:120 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:137 stock/api.py:281 +msgid "Depth" +msgstr "" + +#: part/api.py:137 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:155 stock/api.py:299 +msgid "Cascade" +msgstr "" + +#: part/api.py:157 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:177 +#, fuzzy +#| msgid "parent" +msgid "Parent" +msgstr "上级项" + +#: part/api.py:179 +#, fuzzy +#| msgid "Create new part category" +msgid "Filter by parent category" +msgstr "新建商品类别" + +#: part/api.py:212 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:214 +#, fuzzy +#| msgid "Exclude stock items from this selected location" +msgid "Exclude sub-categories under the specified category" +msgstr "从该选定的仓储地点排除库存项" + +#: part/api.py:447 +#, fuzzy +#| msgid "Units" +msgid "Has Results" +msgstr "单位" + +#: part/api.py:614 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:552 +#: part/api.py:632 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:568 +#: part/api.py:648 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:652 +#: part/api.py:732 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:799 +#: part/api.py:879 msgid "Valid" msgstr "" -#: part/api.py:800 +#: part/api.py:880 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:806 +#: part/api.py:886 msgid "This option must be selected" msgstr "" -#: part/bom.py:170 part/models.py:100 part/models.py:934 +#: part/api.py:1533 part/models.py:895 part/models.py:3385 part/models.py:3831 +#: part/serializers.py:381 part/serializers.py:1069 +#: part/templates/part/part_base.html:260 stock/api.py:725 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "类别" + +#: part/bom.py:170 part/models.py:100 part/models.py:938 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" @@ -6181,7 +6279,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:81 part/models.py:3813 part/templates/part/category.html:16 +#: part/models.py:81 part/models.py:3832 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -6196,7 +6294,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:106 stock/models.py:164 templates/js/translated/stock.js:2743 +#: part/models.py:106 stock/models.py:165 templates/js/translated/stock.js:2736 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" @@ -6214,980 +6312,995 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:124 stock/models.py:88 stock/models.py:147 +#: part/models.py:124 stock/models.py:89 stock/models.py:148 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" msgstr "" -#: part/models.py:125 stock/models.py:148 +#: part/models.py:125 stock/models.py:149 msgid "Icon (optional)" msgstr "" -#: part/models.py:145 +#: part/models.py:147 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:481 +#: part/models.py:483 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:529 part/models.py:536 +#: part/models.py:531 part/models.py:538 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:548 +#: part/models.py:550 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:613 +#: part/models.py:615 #, fuzzy, python-brace-format #| msgid "IPN must match regex pattern {pat}" msgid "IPN must match regex pattern {pattern}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:693 +#: part/models.py:695 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:796 +#: part/models.py:800 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:806 +#: part/models.py:810 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:825 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3868 +#: part/models.py:854 part/models.py:3887 msgid "Part name" msgstr "商品名称" -#: part/models.py:855 +#: part/models.py:859 msgid "Is Template" msgstr "" -#: part/models.py:856 +#: part/models.py:860 msgid "Is this part a template part?" msgstr "" -#: part/models.py:866 +#: part/models.py:870 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:878 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:882 +#: part/models.py:886 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:891 part/models.py:3371 part/models.py:3812 -#: part/serializers.py:358 part/serializers.py:1046 -#: part/templates/part/part_base.html:260 stock/api.py:705 -#: templates/InvenTree/settings/settings_staff_js.html:300 -#: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2377 -msgid "Category" -msgstr "类别" - -#: part/models.py:892 +#: part/models.py:896 msgid "Part category" msgstr "商品类别" -#: part/models.py:900 +#: part/models.py:904 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:907 +#: part/models.py:911 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:932 +#: part/models.py:936 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:978 part/templates/part/part_base.html:376 +#: part/models.py:982 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:979 +#: part/models.py:983 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:986 +#: part/models.py:990 msgid "Default Expiry" msgstr "" -#: part/models.py:987 +#: part/models.py:991 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:996 +#: part/models.py:1000 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1005 +#: part/models.py:1009 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1012 +#: part/models.py:1016 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1022 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1028 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1034 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1040 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1040 +#: part/models.py:1044 msgid "Is this part active?" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1052 +#: part/models.py:1056 msgid "BOM checksum" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1061 +#: part/models.py:1065 msgid "BOM checked by" msgstr "" -#: part/models.py:1066 +#: part/models.py:1070 msgid "BOM checked date" msgstr "" -#: part/models.py:1082 +#: part/models.py:1086 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1092 +#: part/models.py:1096 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1097 part/templates/part/part_base.html:339 +#: part/models.py:1101 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2471 msgid "Last Stocktake" msgstr "" -#: part/models.py:1970 +#: part/models.py:1974 msgid "Sell multiple" msgstr "" -#: part/models.py:2979 +#: part/models.py:2993 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2995 +#: part/models.py:3009 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2996 +#: part/models.py:3010 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3002 +#: part/models.py:3016 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:3017 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3009 +#: part/models.py:3023 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3010 +#: part/models.py:3024 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:3030 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3017 +#: part/models.py:3031 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3023 +#: part/models.py:3037 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3024 +#: part/models.py:3038 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3030 +#: part/models.py:3044 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3031 +#: part/models.py:3045 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3037 +#: part/models.py:3051 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3038 +#: part/models.py:3052 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3044 +#: part/models.py:3058 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3045 +#: part/models.py:3059 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3051 +#: part/models.py:3065 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3052 +#: part/models.py:3066 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3058 +#: part/models.py:3072 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3059 +#: part/models.py:3073 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3066 +#: part/models.py:3080 msgid "Override minimum cost" msgstr "" -#: part/models.py:3073 +#: part/models.py:3087 msgid "Override maximum cost" msgstr "" -#: part/models.py:3080 +#: part/models.py:3094 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3101 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3093 +#: part/models.py:3107 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3094 +#: part/models.py:3108 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3100 +#: part/models.py:3114 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3101 +#: part/models.py:3115 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3107 +#: part/models.py:3121 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3108 +#: part/models.py:3122 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3114 +#: part/models.py:3128 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3115 +#: part/models.py:3129 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3134 +#: part/models.py:3148 msgid "Part for stocktake" msgstr "" -#: part/models.py:3139 +#: part/models.py:3153 msgid "Item Count" msgstr "" -#: part/models.py:3140 +#: part/models.py:3154 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3148 +#: part/models.py:3162 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3152 part/models.py:3235 +#: part/models.py:3166 part/models.py:3249 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:540 #: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1728 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2785 msgid "Date" msgstr "" -#: part/models.py:3153 +#: part/models.py:3167 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3161 +#: part/models.py:3175 msgid "Additional notes" msgstr "" -#: part/models.py:3171 +#: part/models.py:3185 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3177 +#: part/models.py:3191 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3178 +#: part/models.py:3192 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3184 +#: part/models.py:3198 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3185 +#: part/models.py:3199 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3241 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3255 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3242 +#: part/models.py:3256 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3247 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3261 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3248 +#: part/models.py:3262 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3258 +#: part/models.py:3272 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3418 +#: part/models.py:3438 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3435 +#: part/models.py:3448 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3456 templates/js/translated/part.js:2868 +#: part/models.py:3464 templates/js/translated/part.js:2870 msgid "Test Name" msgstr "" -#: part/models.py:3457 +#: part/models.py:3465 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3464 +#: part/models.py:3471 +msgid "Test Key" +msgstr "" + +#: part/models.py:3472 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3479 msgid "Test Description" msgstr "" -#: part/models.py:3465 +#: part/models.py:3480 msgid "Enter description for this test" msgstr "" -#: part/models.py:3470 templates/js/translated/part.js:2877 +#: part/models.py:3484 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3489 templates/js/translated/part.js:2899 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3471 +#: part/models.py:3490 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3476 templates/js/translated/part.js:2885 +#: part/models.py:3495 templates/js/translated/part.js:2907 msgid "Requires Value" msgstr "" -#: part/models.py:3477 +#: part/models.py:3496 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3482 templates/js/translated/part.js:2892 +#: part/models.py:3501 templates/js/translated/part.js:2914 msgid "Requires Attachment" msgstr "" -#: part/models.py:3484 +#: part/models.py:3503 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3531 +#: part/models.py:3550 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3536 +#: part/models.py:3555 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3556 +#: part/models.py:3575 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3573 +#: part/models.py:3592 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3588 +#: part/models.py:3607 msgid "Parameter Name" msgstr "" -#: part/models.py:3595 +#: part/models.py:3614 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3603 +#: part/models.py:3622 msgid "Parameter description" msgstr "" -#: part/models.py:3609 templates/js/translated/part.js:1627 -#: templates/js/translated/table_filters.js:817 +#: part/models.py:3628 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:821 msgid "Checkbox" msgstr "" -#: part/models.py:3610 +#: part/models.py:3629 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3615 templates/js/translated/part.js:1636 +#: part/models.py:3634 templates/js/translated/part.js:1636 msgid "Choices" msgstr "" -#: part/models.py:3616 +#: part/models.py:3635 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3693 +#: part/models.py:3712 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3736 +#: part/models.py:3755 msgid "Parent Part" msgstr "" -#: part/models.py:3744 part/models.py:3820 part/models.py:3821 +#: part/models.py:3763 part/models.py:3839 part/models.py:3840 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3749 +#: part/models.py:3768 msgid "Data" msgstr "" -#: part/models.py:3750 +#: part/models.py:3769 msgid "Parameter Value" msgstr "" -#: part/models.py:3827 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3846 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3828 +#: part/models.py:3847 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3866 +#: part/models.py:3885 msgid "Part ID or part name" msgstr "" -#: part/models.py:3867 +#: part/models.py:3886 msgid "Unique part ID value" msgstr "" -#: part/models.py:3869 +#: part/models.py:3888 msgid "Part IPN value" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "Level" msgstr "" -#: part/models.py:3870 +#: part/models.py:3889 msgid "BOM level" msgstr "" -#: part/models.py:3960 +#: part/models.py:3979 msgid "Select parent part" msgstr "" -#: part/models.py:3970 +#: part/models.py:3989 msgid "Sub part" msgstr "" -#: part/models.py:3971 +#: part/models.py:3990 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3982 +#: part/models.py:4001 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3988 +#: part/models.py:4007 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3994 +#: part/models.py:4013 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4001 part/templates/part/upload_bom.html:55 +#: part/models.py:4020 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4002 +#: part/models.py:4021 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4009 +#: part/models.py:4028 msgid "BOM item reference" msgstr "" -#: part/models.py:4017 +#: part/models.py:4036 msgid "BOM item notes" msgstr "" -#: part/models.py:4023 +#: part/models.py:4042 msgid "Checksum" msgstr "" -#: part/models.py:4024 +#: part/models.py:4043 msgid "BOM line checksum" msgstr "" -#: part/models.py:4029 templates/js/translated/table_filters.js:174 +#: part/models.py:4048 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4030 +#: part/models.py:4049 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4035 part/templates/part/upload_bom.html:57 +#: part/models.py:4054 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:4036 +#: part/models.py:4055 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4041 part/templates/part/upload_bom.html:56 +#: part/models.py:4060 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4042 +#: part/models.py:4061 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4127 stock/models.py:646 +#: part/models.py:4146 stock/models.py:649 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4137 part/models.py:4139 +#: part/models.py:4156 part/models.py:4158 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4279 +#: part/models.py:4298 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4300 +#: part/models.py:4319 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4313 +#: part/models.py:4332 msgid "Parent BOM item" msgstr "" -#: part/models.py:4321 +#: part/models.py:4340 msgid "Substitute part" msgstr "" -#: part/models.py:4337 +#: part/models.py:4356 msgid "Part 1" msgstr "" -#: part/models.py:4345 +#: part/models.py:4364 msgid "Part 2" msgstr "" -#: part/models.py:4346 +#: part/models.py:4365 msgid "Select Related Part" msgstr "" -#: part/models.py:4365 +#: part/models.py:4384 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4370 +#: part/models.py:4389 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:178 part/serializers.py:196 stock/serializers.py:332 +#: part/serializers.py:165 +msgid "Results" +msgstr "" + +#: part/serializers.py:166 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:190 part/serializers.py:208 stock/serializers.py:384 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:349 +#: part/serializers.py:253 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:372 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:359 +#: part/serializers.py:382 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:389 +#: part/serializers.py:412 msgid "Original Part" msgstr "" -#: part/serializers.py:390 +#: part/serializers.py:413 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:418 msgid "Copy Image" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:419 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:402 part/templates/part/detail.html:277 +#: part/serializers.py:425 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:403 +#: part/serializers.py:426 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:409 +#: part/serializers.py:432 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:433 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:416 +#: part/serializers.py:439 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:417 +#: part/serializers.py:440 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:430 +#: part/serializers.py:453 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:432 +#: part/serializers.py:455 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:462 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:440 +#: part/serializers.py:463 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:452 +#: part/serializers.py:475 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:468 +#: part/serializers.py:491 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:478 +#: part/serializers.py:501 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:508 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:494 +#: part/serializers.py:517 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:505 +#: part/serializers.py:528 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:512 +#: part/serializers.py:535 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:785 part/templates/part/copy_part.html:9 +#: part/serializers.py:808 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:786 +#: part/serializers.py:809 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:792 templates/js/translated/part.js:102 +#: part/serializers.py:815 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:793 +#: part/serializers.py:816 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:799 +#: part/serializers.py:822 msgid "Supplier Information" msgstr "" -#: part/serializers.py:800 +#: part/serializers.py:823 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:808 +#: part/serializers.py:831 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:809 +#: part/serializers.py:832 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:814 +#: part/serializers.py:837 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:815 +#: part/serializers.py:838 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:832 +#: part/serializers.py:855 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1038 +#: part/serializers.py:1061 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1071 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1058 +#: part/serializers.py:1081 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1087 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1065 +#: part/serializers.py:1088 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1070 +#: part/serializers.py:1093 msgid "Generate Report" msgstr "" -#: part/serializers.py:1071 +#: part/serializers.py:1094 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1076 +#: part/serializers.py:1099 msgid "Update Parts" msgstr "" -#: part/serializers.py:1077 +#: part/serializers.py:1100 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1085 +#: part/serializers.py:1108 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1191 +#: part/serializers.py:1214 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1198 +#: part/serializers.py:1221 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1206 +#: part/serializers.py:1229 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1213 +#: part/serializers.py:1236 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1242 +#: part/serializers.py:1265 msgid "Update" msgstr "" -#: part/serializers.py:1243 +#: part/serializers.py:1266 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1289 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1296 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1276 +#: part/serializers.py:1299 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1602 +#: part/serializers.py:1625 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1610 +#: part/serializers.py:1633 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1611 +#: part/serializers.py:1634 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1616 +#: part/serializers.py:1639 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1617 +#: part/serializers.py:1640 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1622 +#: part/serializers.py:1645 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1623 +#: part/serializers.py:1646 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1628 +#: part/serializers.py:1651 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1629 +#: part/serializers.py:1652 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1663 +#: part/serializers.py:1686 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1664 +#: part/serializers.py:1687 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1694 +#: part/serializers.py:1717 msgid "No part column specified" msgstr "" -#: part/serializers.py:1738 +#: part/serializers.py:1761 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1764 msgid "No matching part found" msgstr "" -#: part/serializers.py:1744 +#: part/serializers.py:1767 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1776 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1761 +#: part/serializers.py:1784 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1805 msgid "At least one BOM item is required" msgstr "" #: part/stocktake.py:224 templates/js/translated/part.js:1066 #: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2081 +#: templates/js/translated/purchase_order.js:2085 msgid "Total Quantity" msgstr "" @@ -7348,7 +7461,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2186 users/models.py:191 +#: templates/js/translated/stock.js:2179 users/models.py:191 msgid "Stocktake" msgstr "" @@ -7584,7 +7697,7 @@ msgstr "打印操作" #: part/templates/part/part_base.html:146 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/model_renderers.js:306 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 msgid "Inactive" msgstr "" @@ -7712,7 +7825,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 #: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 -#: templates/js/translated/stock.js:2040 templates/navbar.html:31 +#: templates/js/translated/stock.js:2033 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7760,7 +7873,7 @@ msgstr "编辑" #: stock/templates/stock/item_base.html:446 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2216 +#: templates/js/translated/stock.js:2209 msgid "Last Updated" msgstr "" @@ -7936,7 +8049,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:154 -#: templates/js/translated/purchase_order.js:1402 +#: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" msgstr "" @@ -7998,7 +8111,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "在BOM中找不到选定的库存项" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -8141,7 +8254,7 @@ msgstr "重命名文件出错" msgid "Error rendering label to HTML" msgstr "重命名文件出错" -#: plugin/base/label/mixins.py:95 +#: plugin/base/label/mixins.py:111 #, fuzzy #| msgid "Error renaming file" msgid "Error rendering label to PNG" @@ -8435,7 +8548,7 @@ msgid "Is the plugin active" msgstr "" #: plugin/models.py:148 templates/js/translated/table_filters.js:370 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Installed" msgstr "" @@ -8462,21 +8575,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:263 +#: plugin/plugin.py:264 msgid "No author found" msgstr "" -#: plugin/registry.py:584 +#: plugin/registry.py:585 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:587 +#: plugin/registry.py:588 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:589 +#: plugin/registry.py:590 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -8755,7 +8868,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2112 +#: templates/js/translated/purchase_order.js:2116 #: templates/js/translated/sales_order.js:1837 msgid "Unit Price" msgstr "单价" @@ -8770,17 +8883,17 @@ msgstr "额外的生产备注" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:2014 +#: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/sales_order.js:1806 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:807 stock/templates/stock/item_base.html:311 -#: templates/js/translated/build.js:519 templates/js/translated/build.js:1362 -#: templates/js/translated/build.js:2351 -#: templates/js/translated/model_renderers.js:222 +#: stock/models.py:812 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:724 #: templates/js/translated/sales_order.js:315 @@ -8805,12 +8918,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2344 templates/js/translated/stock.js:1475 +#: templates/js/translated/stock.js:1485 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Result" msgstr "" @@ -8839,7 +8952,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:162 templates/js/translated/stock.js:700 -#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3074 msgid "Serial" msgstr "" @@ -8900,7 +9013,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:201 stock/models.py:787 +#: stock/admin.py:201 stock/models.py:792 #: stock/templates/stock/item_base.html:354 msgid "Installed In" msgstr "" @@ -8927,523 +9040,559 @@ msgstr "" msgid "Delete on Deplete" msgstr "删除模板" -#: stock/admin.py:256 stock/models.py:881 +#: stock/admin.py:256 stock/models.py:886 #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/stock.js:2200 users/models.py:113 +#: templates/js/translated/stock.js:2193 users/models.py:113 msgid "Expiry Date" msgstr "" -#: stock/api.py:540 templates/js/translated/table_filters.js:427 +#: stock/api.py:281 +#, fuzzy +#| msgid "Print Order Reports" +msgid "Filter by location depth" +msgstr "打印订单报表" + +#: stock/api.py:301 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:322 +#, fuzzy +#| msgid "Print actions" +msgid "Parent Location" +msgstr "打印操作" + +#: stock/api.py:323 +#, fuzzy +#| msgid "Delete location" +msgid "Filter by parent location" +msgstr "删除仓储地" + +#: stock/api.py:560 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:725 +#: stock/api.py:745 #, fuzzy #| msgid "Part name" msgid "Part Tree" msgstr "商品名称" -#: stock/api.py:753 +#: stock/api.py:773 msgid "Expiry date before" msgstr "" -#: stock/api.py:757 +#: stock/api.py:777 msgid "Expiry date after" msgstr "" -#: stock/api.py:760 stock/templates/stock/item_base.html:439 +#: stock/api.py:780 stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:846 +#: stock/api.py:866 msgid "Quantity is required" msgstr "" -#: stock/api.py:852 +#: stock/api.py:872 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:883 +#: stock/api.py:903 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:893 +#: stock/api.py:913 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:924 +#: stock/api.py:944 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:62 +#: stock/models.py:63 #, fuzzy #| msgid "Stock Location" msgid "Stock Location type" msgstr "仓储地点" -#: stock/models.py:63 +#: stock/models.py:64 #, fuzzy #| msgid "Stock Locations" msgid "Stock Location types" msgstr "仓储地点" -#: stock/models.py:89 +#: stock/models.py:90 msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:124 stock/models.py:769 +#: stock/models.py:125 stock/models.py:774 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:125 stock/templates/stock/location.html:179 +#: stock/models.py:126 stock/templates/stock/location.html:179 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:192 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:157 stock/models.py:930 +#: stock/models.py:158 stock/models.py:935 #: stock/templates/stock/item_base.html:247 msgid "Owner" msgstr "" -#: stock/models.py:158 stock/models.py:931 +#: stock/models.py:159 stock/models.py:936 msgid "Select Owner" msgstr "" -#: stock/models.py:166 +#: stock/models.py:167 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:173 templates/js/translated/stock.js:2752 +#: stock/models.py:174 templates/js/translated/stock.js:2745 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:174 +#: stock/models.py:175 msgid "This is an external stock location" msgstr "" -#: stock/models.py:180 templates/js/translated/stock.js:2761 +#: stock/models.py:181 templates/js/translated/stock.js:2754 #: templates/js/translated/table_filters.js:246 #, fuzzy #| msgid "Location" msgid "Location type" msgstr "地点" -#: stock/models.py:184 +#: stock/models.py:185 #, fuzzy #| msgid "Stock item created" msgid "Stock location type of this location" msgstr "库存项已创建" -#: stock/models.py:253 +#: stock/models.py:254 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:623 +#: stock/models.py:626 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:653 stock/serializers.py:223 +#: stock/models.py:656 stock/serializers.py:275 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:670 +#: stock/models.py:673 #, fuzzy, python-brace-format #| msgid "Part type ('{pf}') must be {pe}" msgid "Part type ('{self.supplier_part.part}') must be {self.part}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:680 stock/models.py:693 +#: stock/models.py:683 stock/models.py:696 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:683 +#: stock/models.py:686 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:707 +#: stock/models.py:710 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:712 +#: stock/models.py:715 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:725 +#: stock/models.py:728 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:739 +#: stock/models.py:744 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:751 +#: stock/models.py:756 msgid "Base part" msgstr "" -#: stock/models.py:761 +#: stock/models.py:766 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:773 +#: stock/models.py:778 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:781 stock/serializers.py:1259 +#: stock/models.py:786 stock/serializers.py:1311 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:792 +#: stock/models.py:797 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:811 +#: stock/models.py:816 msgid "Serial number for this item" msgstr "" -#: stock/models.py:825 stock/serializers.py:1242 +#: stock/models.py:830 stock/serializers.py:1294 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:830 +#: stock/models.py:835 msgid "Stock Quantity" msgstr "" -#: stock/models.py:840 +#: stock/models.py:845 msgid "Source Build" msgstr "" -#: stock/models.py:843 +#: stock/models.py:848 msgid "Build for this stock item" msgstr "" -#: stock/models.py:850 stock/templates/stock/item_base.html:363 +#: stock/models.py:855 stock/templates/stock/item_base.html:363 #, fuzzy #| msgid "Issued By" msgid "Consumed By" msgstr "发布者" -#: stock/models.py:853 +#: stock/models.py:858 #, fuzzy #| msgid "BuildOrder to which this build is allocated" msgid "Build order which consumed this stock item" msgstr "此次生产匹配的订单" -#: stock/models.py:862 +#: stock/models.py:867 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:866 +#: stock/models.py:871 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:872 +#: stock/models.py:877 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:883 +#: stock/models.py:888 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:901 +#: stock/models.py:906 msgid "Delete on deplete" msgstr "" -#: stock/models.py:902 +#: stock/models.py:907 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:922 +#: stock/models.py:927 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:953 +#: stock/models.py:958 msgid "Converted to part" msgstr "" -#: stock/models.py:1463 +#: stock/models.py:1468 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1469 +#: stock/models.py:1474 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1482 #, fuzzy, python-brace-format #| msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: stock/models.py:1483 +#: stock/models.py:1488 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1493 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1496 stock/serializers.py:455 +#: stock/models.py:1501 stock/serializers.py:507 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1563 +#: stock/models.py:1598 +#, fuzzy +#| msgid "Part image not found" +msgid "Test template does not exist" +msgstr "未找到商品图像" + +#: stock/models.py:1616 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1567 +#: stock/models.py:1620 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1570 +#: stock/models.py:1623 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1573 +#: stock/models.py:1626 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1576 +#: stock/models.py:1629 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1579 +#: stock/models.py:1632 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1586 stock/serializers.py:1148 +#: stock/models.py:1639 stock/serializers.py:1200 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1590 +#: stock/models.py:1643 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1598 +#: stock/models.py:1651 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1656 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1807 +#: stock/models.py:1873 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2264 +#: stock/models.py:2336 msgid "Entry notes" msgstr "" -#: stock/models.py:2323 +#: stock/models.py:2399 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2329 +#: stock/models.py:2405 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2344 -msgid "Test name" -msgstr "" - -#: stock/models.py:2348 +#: stock/models.py:2432 msgid "Test result" msgstr "" -#: stock/models.py:2355 +#: stock/models.py:2439 msgid "Test output value" msgstr "" -#: stock/models.py:2363 +#: stock/models.py:2447 msgid "Test result attachment" msgstr "" -#: stock/models.py:2367 +#: stock/models.py:2451 msgid "Test notes" msgstr "" -#: stock/serializers.py:117 +#: stock/serializers.py:96 +#, fuzzy +#| msgid "User or group responsible for this order" +msgid "Test template for this result" +msgstr "负责此订单的用户或群组" + +#: stock/serializers.py:115 +#, fuzzy +#| msgid "Allocation items must be provided" +msgid "Template ID or test name must be provided" +msgstr "必须提供分配的项" + +#: stock/serializers.py:169 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:215 +#: stock/serializers.py:267 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:380 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:390 +#: stock/serializers.py:442 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:403 +#: stock/serializers.py:455 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:410 +#: stock/serializers.py:462 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:421 stock/serializers.py:1105 stock/serializers.py:1361 +#: stock/serializers.py:473 stock/serializers.py:1157 stock/serializers.py:1413 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:428 +#: stock/serializers.py:480 msgid "Optional note field" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:490 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:493 +#: stock/serializers.py:545 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:500 +#: stock/serializers.py:552 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:501 +#: stock/serializers.py:553 #, fuzzy #| msgid "Enter quantity for build output" msgid "Enter the quantity of items to install" msgstr "输入生产产出数量" -#: stock/serializers.py:506 stock/serializers.py:581 stock/serializers.py:677 -#: stock/serializers.py:727 +#: stock/serializers.py:558 stock/serializers.py:633 stock/serializers.py:729 +#: stock/serializers.py:779 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:514 +#: stock/serializers.py:566 #, fuzzy #| msgid "Quantity must be a positive number" msgid "Quantity to install must be at least 1" msgstr "数量必须大于0" -#: stock/serializers.py:522 +#: stock/serializers.py:574 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:529 +#: stock/serializers.py:581 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:541 +#: stock/serializers.py:593 #, 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:576 +#: stock/serializers.py:628 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:611 +#: stock/serializers.py:663 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:624 +#: stock/serializers.py:676 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:641 +#: stock/serializers.py:693 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:672 +#: stock/serializers.py:724 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:709 +#: stock/serializers.py:761 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock items to change status" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:715 +#: stock/serializers.py:767 #, fuzzy #| msgid "Stock item created" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:977 +#: stock/serializers.py:1029 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:981 +#: stock/serializers.py:1033 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:985 +#: stock/serializers.py:1037 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1009 +#: stock/serializers.py:1061 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1015 +#: stock/serializers.py:1067 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1023 +#: stock/serializers.py:1075 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1033 stock/serializers.py:1287 +#: stock/serializers.py:1085 stock/serializers.py:1339 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1164 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1117 +#: stock/serializers.py:1169 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1118 +#: stock/serializers.py:1170 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1123 +#: stock/serializers.py:1175 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1124 +#: stock/serializers.py:1176 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1134 +#: stock/serializers.py:1186 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1201 +#: stock/serializers.py:1253 #, fuzzy #| msgid "Change" msgid "No Change" msgstr "更改" -#: stock/serializers.py:1230 +#: stock/serializers.py:1282 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1249 +#: stock/serializers.py:1301 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1277 +#: stock/serializers.py:1329 msgid "Stock transaction notes" msgstr "" @@ -9468,7 +9617,7 @@ msgstr "" msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:280 msgid "Delete Test Data" msgstr "" @@ -9484,15 +9633,15 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3239 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3235 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:267 +#: stock/templates/stock/item.html:268 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 +#: stock/templates/stock/item.html:298 templates/js/translated/stock.js:1662 msgid "Add Test Result" msgstr "" @@ -9515,17 +9664,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:79 -#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1792 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1785 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:81 -#: templates/js/translated/stock.js:1774 +#: templates/js/translated/stock.js:1767 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1783 +#: templates/js/translated/stock.js:1776 msgid "Remove stock" msgstr "" @@ -9534,12 +9683,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:88 -#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1801 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1794 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:91 -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:1848 msgid "Assign to customer" msgstr "" @@ -9580,7 +9729,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2119 templates/navbar.html:38 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -9648,7 +9797,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:398 -#: templates/js/translated/build.js:2376 +#: templates/js/translated/build.js:2378 msgid "No location set" msgstr "未设置仓储地点" @@ -9680,7 +9829,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:507 -#: templates/js/translated/stock.js:1922 +#: templates/js/translated/stock.js:1915 #, fuzzy #| msgid "Stock Item" msgid "stock item" @@ -9794,22 +9943,22 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:289 -#: templates/js/translated/stock.js:2543 +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2536 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:317 +#: stock/templates/stock/location.html:315 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:390 +#: stock/templates/stock/location.html:388 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:401 +#: stock/templates/stock/location.html:399 msgid "Link Barcode to Stock Location" msgstr "" @@ -10195,7 +10344,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:496 msgid "Builtin" msgstr "" @@ -10205,7 +10354,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:500 msgid "Sample" msgstr "" @@ -10316,7 +10465,7 @@ msgid "Rate" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:543 templates/js/translated/helpers.js:105 +#: 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:411 msgid "Delete" @@ -10347,7 +10496,7 @@ msgid "No project codes found" msgstr "无指定参数" #: templates/InvenTree/settings/settings_staff_js.html:158 -#: templates/js/translated/build.js:2224 +#: templates/js/translated/build.js:2226 msgid "group" msgstr "" @@ -10455,7 +10604,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/forms.js:2155 templates/js/translated/tables.js:543 +#: templates/js/translated/forms.js:2159 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" @@ -10811,7 +10960,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:770 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" msgstr "确认" @@ -11040,7 +11189,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2555 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11054,7 +11203,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3187 +#: templates/js/translated/part.js:3209 msgid "Minimum Quantity" msgstr "" @@ -11298,7 +11447,7 @@ msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 #: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 -#: templates/js/translated/purchase_order.js:805 templates/modals.html:15 +#: 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 "" @@ -11417,7 +11566,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11437,26 +11586,26 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2594 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2598 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11488,7 +11637,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2484 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11681,7 +11830,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:989 templates/js/translated/build.js:2340 +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Quantity" @@ -11723,189 +11872,189 @@ msgstr "生产产出" msgid "Build output actions" msgstr "生产操作" -#: templates/js/translated/build.js:1292 +#: templates/js/translated/build.js:1294 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1385 +#: templates/js/translated/build.js:1387 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Lines" msgstr "已分配的部件" -#: templates/js/translated/build.js:1399 +#: templates/js/translated/build.js:1401 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1571 -#: templates/js/translated/purchase_order.js:630 +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:1572 +#: templates/js/translated/build.js:1574 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1635 +#: templates/js/translated/build.js:1637 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1712 +#: templates/js/translated/build.js:1714 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1713 +#: templates/js/translated/build.js:1715 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1727 +#: templates/js/translated/build.js:1729 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1755 +#: templates/js/translated/build.js:1757 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1766 +#: templates/js/translated/build.js:1768 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1839 +#: templates/js/translated/build.js:1841 #: templates/js/translated/sales_order.js:1362 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1936 +#: templates/js/translated/build.js:1938 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:1939 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1939 +#: templates/js/translated/build.js:1941 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1940 +#: templates/js/translated/build.js:1942 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1941 +#: templates/js/translated/build.js:1943 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1972 +#: templates/js/translated/build.js:1974 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2078 +#: templates/js/translated/build.js:2080 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2113 templates/js/translated/build.js:2478 -#: templates/js/translated/forms.js:2151 templates/js/translated/forms.js:2167 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 -#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 +#: templates/js/translated/stock.js:1946 templates/js/translated/stock.js:2674 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2127 +#: templates/js/translated/build.js:2129 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2173 +#: templates/js/translated/build.js:2175 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2209 templates/js/translated/stock.js:3013 +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3006 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2387 #: templates/js/translated/sales_order.js:1646 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2386 +#: templates/js/translated/build.js:2388 #: templates/js/translated/sales_order.js:1647 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2401 +#: templates/js/translated/build.js:2403 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2413 +#: templates/js/translated/build.js:2415 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2456 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2457 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2473 +#: templates/js/translated/build.js:2475 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2538 +#: templates/js/translated/build.js:2540 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2590 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2641 +#: templates/js/translated/build.js:2643 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" msgstr "最低库存" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2648 #, fuzzy #| msgid "Stock Item" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2655 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2658 templates/js/translated/stock.js:1836 +#: templates/js/translated/build.js:2660 templates/js/translated/stock.js:1829 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2664 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:2668 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" @@ -11930,7 +12079,7 @@ msgid "Add Supplier" msgstr "添加供应商" #: templates/js/translated/company.js:243 -#: templates/js/translated/purchase_order.js:352 +#: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" msgstr "添加供应商商品" @@ -12234,61 +12383,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:374 templates/js/translated/forms.js:389 -#: templates/js/translated/forms.js:403 templates/js/translated/forms.js:417 +#: 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 "" -#: templates/js/translated/forms.js:376 +#: templates/js/translated/forms.js:380 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:391 +#: templates/js/translated/forms.js:395 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:405 +#: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:419 +#: templates/js/translated/forms.js:423 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:796 +#: templates/js/translated/forms.js:800 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:899 +#: templates/js/translated/forms.js:903 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1469 templates/modals.html:19 +#: templates/js/translated/forms.js:1473 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1967 +#: templates/js/translated/forms.js:1971 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2271 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2485 +#: templates/js/translated/forms.js:2489 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:3071 +#: templates/js/translated/forms.js:3075 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:3083 +#: templates/js/translated/forms.js:3087 msgid "Select Columns" msgstr "" @@ -12494,7 +12643,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1987 +#: templates/js/translated/purchase_order.js:1991 msgid "No line items found" msgstr "" @@ -12659,7 +12808,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:685 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:747 msgid "Low stock" msgstr "" @@ -12736,19 +12885,19 @@ msgid "Delete Part Parameter Template" msgstr "" #: templates/js/translated/part.js:1716 -#: templates/js/translated/purchase_order.js:1651 +#: templates/js/translated/purchase_order.js:1655 msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1860 -#: templates/js/translated/purchase_order.js:2150 +#: templates/js/translated/purchase_order.js:2154 #: templates/js/translated/return_order.js:756 #: templates/js/translated/sales_order.js:1875 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1906 -#: templates/js/translated/purchase_order.js:2217 +#: templates/js/translated/purchase_order.js:2221 msgid "Receive line item" msgstr "" @@ -12793,7 +12942,7 @@ msgid "No category" msgstr "没有分类" #: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 -#: templates/js/translated/stock.js:2640 +#: templates/js/translated/stock.js:2633 msgid "Display as list" msgstr "" @@ -12807,7 +12956,7 @@ msgstr "" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2660 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2653 msgid "Display as tree" msgstr "" @@ -12819,60 +12968,64 @@ msgstr "" msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2854 +#: templates/js/translated/part.js:2855 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2905 templates/js/translated/stock.js:1436 +#: templates/js/translated/part.js:2877 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2927 templates/js/translated/stock.js:1446 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2906 templates/js/translated/stock.js:1437 -#: templates/js/translated/stock.js:1699 +#: templates/js/translated/part.js:2928 templates/js/translated/stock.js:1447 +#: templates/js/translated/stock.js:1692 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2910 +#: templates/js/translated/part.js:2932 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2926 +#: templates/js/translated/part.js:2948 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2940 +#: templates/js/translated/part.js:2962 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3019 templates/js/translated/part.js:3020 +#: templates/js/translated/part.js:3041 templates/js/translated/part.js:3042 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3044 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3028 +#: templates/js/translated/part.js:3050 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3078 +#: templates/js/translated/part.js:3100 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3084 +#: templates/js/translated/part.js:3106 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3180 +#: templates/js/translated/part.js:3202 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3196 +#: templates/js/translated/part.js:3218 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3241 +#: templates/js/translated/part.js:3263 msgid "Minimum Stock Level" msgstr "" @@ -13008,220 +13161,224 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:450 +#: templates/js/translated/purchase_order.js:431 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:467 +#: templates/js/translated/purchase_order.js:448 #: templates/js/translated/return_order.js:210 #: templates/js/translated/sales_order.js:500 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:473 +#: templates/js/translated/purchase_order.js:454 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:478 +#: templates/js/translated/purchase_order.js:459 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:479 +#: templates/js/translated/purchase_order.js:460 #: templates/js/translated/sales_order.js:514 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:502 +#: templates/js/translated/purchase_order.js:483 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:507 +#: templates/js/translated/purchase_order.js:488 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:513 +#: templates/js/translated/purchase_order.js:494 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:534 +#: templates/js/translated/purchase_order.js:515 #: templates/js/translated/return_order.js:164 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:539 +#: templates/js/translated/purchase_order.js:520 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:631 +#: templates/js/translated/purchase_order.js:612 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:656 +#: templates/js/translated/purchase_order.js:637 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:665 +#: templates/js/translated/purchase_order.js:646 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:683 +#: templates/js/translated/purchase_order.js:664 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:715 +#: templates/js/translated/purchase_order.js:705 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:863 +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:882 +#: templates/js/translated/purchase_order.js:878 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1069 +#: templates/js/translated/purchase_order.js:1073 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1070 +#: templates/js/translated/purchase_order.js:1074 #: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1100 +#: templates/js/translated/purchase_order.js:1104 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1111 +#: templates/js/translated/purchase_order.js:1115 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1191 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1201 +#: templates/js/translated/purchase_order.js:1205 #, fuzzy #| msgid "Barcode" msgid "Add barcode" msgstr "条形码" -#: templates/js/translated/purchase_order.js:1202 +#: templates/js/translated/purchase_order.js:1206 #, fuzzy #| msgid "Remove row" msgid "Remove barcode" msgstr "移除行" -#: templates/js/translated/purchase_order.js:1205 +#: templates/js/translated/purchase_order.js:1209 #, fuzzy #| msgid "Edit location" msgid "Specify location" msgstr "编辑仓储地" -#: templates/js/translated/purchase_order.js:1213 +#: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1224 +#: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1276 +#: templates/js/translated/purchase_order.js:1280 #, fuzzy #| msgid "Serial Numbers" msgid "Serials" msgstr "序列号" -#: templates/js/translated/purchase_order.js:1301 +#: templates/js/translated/purchase_order.js:1305 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/purchase_order.js:1303 +#: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1329 +#: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:561 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1330 +#: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 #, fuzzy #| msgid "Scan Barcode" msgid "Scan Item Barcode" msgstr "扫描条形码" -#: templates/js/translated/purchase_order.js:1399 +#: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1413 +#: templates/js/translated/purchase_order.js:1417 #, fuzzy #| msgid "Enter barcode data" msgid "Invalid barcode data" msgstr "输入条形码数据" -#: templates/js/translated/purchase_order.js:1678 +#: templates/js/translated/purchase_order.js:1682 #: templates/js/translated/return_order.js:286 #: templates/js/translated/sales_order.js:774 #: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1744 +#: templates/js/translated/purchase_order.js:1748 #: templates/js/translated/return_order.js:354 #: templates/js/translated/sales_order.js:851 #: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1840 +#: templates/js/translated/purchase_order.js:1844 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1858 +#: templates/js/translated/purchase_order.js:1862 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1913 +#: templates/js/translated/purchase_order.js:1917 #: templates/js/translated/sales_order.js:2070 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1928 +#: templates/js/translated/purchase_order.js:1932 #: templates/js/translated/return_order.js:476 #: templates/js/translated/return_order.js:669 #: templates/js/translated/sales_order.js:2083 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1939 +#: templates/js/translated/purchase_order.js:1943 #: templates/js/translated/return_order.js:682 #: templates/js/translated/sales_order.js:2094 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2221 +#: templates/js/translated/purchase_order.js:2225 #: templates/js/translated/sales_order.js:2024 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2222 +#: templates/js/translated/purchase_order.js:2226 #: templates/js/translated/return_order.js:801 #: templates/js/translated/sales_order.js:2025 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2223 +#: templates/js/translated/purchase_order.js:2227 #: templates/js/translated/return_order.js:805 #: templates/js/translated/sales_order.js:2031 msgid "Delete line item" @@ -13453,7 +13610,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1623 #: templates/js/translated/sales_order.js:1710 -#: templates/js/translated/stock.js:1744 +#: templates/js/translated/stock.js:1737 msgid "Shipped to customer" msgstr "" @@ -13503,10 +13660,6 @@ msgstr "" msgid "result" msgstr "" -#: templates/js/translated/search.js:342 -msgid "results" -msgstr "" - #: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" @@ -13719,7 +13872,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3267 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3263 msgid "Select Stock Items" msgstr "选择库存项" @@ -13743,274 +13896,274 @@ msgstr "" msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1429 +#: templates/js/translated/stock.js:1440 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1432 +#: templates/js/translated/stock.js:1443 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1456 +#: templates/js/translated/stock.js:1466 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1520 +#: templates/js/translated/stock.js:1530 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1682 +#: templates/js/translated/stock.js:1677 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1704 +#: templates/js/translated/stock.js:1697 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1729 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1740 +#: templates/js/translated/stock.js:1733 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1741 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1754 +#: templates/js/translated/stock.js:1747 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1810 +#: templates/js/translated/stock.js:1803 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1819 +#: templates/js/translated/stock.js:1812 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:1861 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1923 +#: templates/js/translated/stock.js:1916 #, fuzzy #| msgid "Stock Items" msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:1928 +#: templates/js/translated/stock.js:1921 #, fuzzy #| msgid "Stock Location" msgid "Scan to location" msgstr "仓储地点" -#: templates/js/translated/stock.js:1939 +#: templates/js/translated/stock.js:1932 #, fuzzy #| msgid "Stock Locations" msgid "Stock Actions" msgstr "仓储地点" -#: templates/js/translated/stock.js:1983 +#: templates/js/translated/stock.js:1976 #, fuzzy #| msgid "Installed into assembly" msgid "Load installed items" msgstr "安装到组装中" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2054 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2059 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2069 +#: templates/js/translated/stock.js:2062 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2072 +#: templates/js/translated/stock.js:2065 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2074 +#: templates/js/translated/stock.js:2067 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2076 +#: templates/js/translated/stock.js:2069 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2079 +#: templates/js/translated/stock.js:2072 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2081 +#: templates/js/translated/stock.js:2074 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:2085 +#: templates/js/translated/stock.js:2078 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2087 +#: templates/js/translated/stock.js:2080 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2092 +#: templates/js/translated/stock.js:2085 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2087 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2096 +#: templates/js/translated/stock.js:2089 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2100 +#: templates/js/translated/stock.js:2093 #: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2265 +#: templates/js/translated/stock.js:2258 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2312 +#: templates/js/translated/stock.js:2305 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2440 +#: templates/js/translated/stock.js:2433 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2544 +#: templates/js/translated/stock.js:2537 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:2692 #, fuzzy #| msgid "Stock Locations" msgid "Load Sublocations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2817 +#: templates/js/translated/stock.js:2810 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2821 +#: templates/js/translated/stock.js:2814 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2833 +#: templates/js/translated/stock.js:2826 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2848 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2865 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2887 +#: templates/js/translated/stock.js:2880 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2897 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2914 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2940 +#: templates/js/translated/stock.js:2933 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:2951 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:2969 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2984 +#: templates/js/translated/stock.js:2977 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3049 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3108 templates/js/translated/stock.js:3143 +#: templates/js/translated/stock.js:3103 templates/js/translated/stock.js:3139 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3161 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3186 +#: templates/js/translated/stock.js:3182 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3187 +#: templates/js/translated/stock.js:3183 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3189 +#: templates/js/translated/stock.js:3185 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3190 +#: templates/js/translated/stock.js:3186 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3191 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3192 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:3201 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3268 +#: templates/js/translated/stock.js:3264 #, fuzzy #| msgid "Select Stock Items" msgid "Select one or more stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3281 +#: templates/js/translated/stock.js:3277 #, fuzzy #| msgid "Select Stock Items" msgid "Selected stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3285 +#: templates/js/translated/stock.js:3281 #, fuzzy #| msgid "Stock Settings" msgid "Change Stock Status" @@ -14021,23 +14174,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:601 -#: templates/js/translated/table_filters.js:613 -#: templates/js/translated/table_filters.js:654 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:618 -#: templates/js/translated/table_filters.js:644 -#: templates/js/translated/table_filters.js:659 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:626 -#: templates/js/translated/table_filters.js:667 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 msgid "Assigned to me" msgstr "" @@ -14058,7 +14211,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:779 msgid "Has Pricing" msgstr "" @@ -14079,12 +14232,12 @@ msgstr "未设置仓储地点" #: templates/js/translated/table_filters.js:278 #: templates/js/translated/table_filters.js:279 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/table_filters.js:711 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:755 +#: templates/js/translated/table_filters.js:759 msgid "Subscribed" msgstr "" @@ -14126,7 +14279,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:325 -#: templates/js/translated/table_filters.js:696 +#: templates/js/translated/table_filters.js:700 msgid "Active parts" msgstr "" @@ -14227,56 +14380,56 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:515 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:708 +#: templates/js/translated/table_filters.js:712 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/table_filters.js:717 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:725 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:729 -#: templates/js/translated/table_filters.js:825 +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:829 #, fuzzy #| msgid "Units" msgid "Has Units" msgstr "单位" -#: templates/js/translated/table_filters.js:730 +#: templates/js/translated/table_filters.js:734 #, fuzzy #| msgid "Parameter units" msgid "Part has defined units" msgstr "参数单位" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:738 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:739 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:743 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:751 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:763 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:821 +#: templates/js/translated/table_filters.js:825 #, fuzzy #| msgid "Units" msgid "Has Choices" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index c3efbd04cc7e..75588a60994c 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 09f6cb3efdc4..4854163f000a 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 80a652f27dba..d5f02a61351f 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index e86ddf394b52..94fa82b58f76 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"PO-Revision-Date: 2024-02-25 06:44\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -53,8 +53,8 @@ msgstr "Aktualisieren" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -110,7 +110,7 @@ msgstr "Eingabefehler" #: src/components/forms/AuthenticationForm.tsx:98 msgid "Or continue with other methods" -msgstr "" +msgstr "Oder mit anderen Methoden fortfahren" #: src/components/forms/AuthenticationForm.tsx:109 #: src/components/forms/AuthenticationForm.tsx:233 @@ -165,7 +165,7 @@ msgstr "Mail erhalten" #: src/components/forms/AuthenticationForm.tsx:156 msgid "Use username and password" -msgstr "" +msgstr "Benutzername und Passwort benutzen" #: src/components/forms/AuthenticationForm.tsx:165 msgid "Log In" @@ -177,40 +177,40 @@ msgstr "E-Mail senden" #: src/components/forms/AuthenticationForm.tsx:196 msgid "Registration successful" -msgstr "" +msgstr "Registrierung erfolgreich" #: src/components/forms/AuthenticationForm.tsx:197 msgid "Please confirm your email address to complete the registration" -msgstr "" +msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse um die Registrierung abzuschließen" #: src/components/forms/AuthenticationForm.tsx:240 msgid "This will be used for a confirmation" -msgstr "" +msgstr "Dies wird zur Bestätigung verwendet" #: src/components/forms/AuthenticationForm.tsx:252 msgid "Password repeat" -msgstr "" +msgstr "Passwort wiederholen" #: src/components/forms/AuthenticationForm.tsx:253 msgid "Repeat password" -msgstr "" +msgstr "Passwort erneut eingeben" #: src/components/forms/AuthenticationForm.tsx:265 #: src/components/forms/AuthenticationForm.tsx:310 msgid "Register" -msgstr "" +msgstr "Registrieren" #: src/components/forms/AuthenticationForm.tsx:271 msgid "Or use SSO" -msgstr "" +msgstr "Oder SSO verwenden" #: src/components/forms/AuthenticationForm.tsx:302 msgid "Don't have an account?" -msgstr "" +msgstr "Nicht registriert?" #: src/components/forms/AuthenticationForm.tsx:321 msgid "Go back to login" -msgstr "" +msgstr "Zurück zur Anmeldung" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -274,41 +274,41 @@ msgstr "Status: <0>worker ({0}), <1>Plugins{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Fehler" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Suche" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Wird geladen" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Keine Ergebnisse gefunden" #: src/components/images/DetailsImage.tsx:61 msgid "Remove Image" -msgstr "" +msgstr "Bild entfernen" #: src/components/images/DetailsImage.tsx:64 msgid "Remove the associated image from this item?" -msgstr "" +msgstr "Verknüpftes Bild von diesem Teil entfernen?" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Entfernen" @@ -316,43 +316,43 @@ msgstr "Entfernen" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Abbrechen" #: src/components/images/DetailsImage.tsx:95 msgid "Drag and drop to upload" -msgstr "" +msgstr "Ziehen und Ablegen zum Hochladen" #: src/components/images/DetailsImage.tsx:98 msgid "Click to select file(s)" -msgstr "" +msgstr "Klicken, um Datei(en) auszuwählen" #: src/components/images/DetailsImage.tsx:220 msgid "Clear" -msgstr "" +msgstr "Leeren" #: src/components/images/DetailsImage.tsx:252 msgid "Select image" -msgstr "" +msgstr "Bild auswählen" #: src/components/images/DetailsImage.tsx:263 msgid "Select from existing images" -msgstr "" +msgstr "Aus vorhandenen Bildern auswählen" #: src/components/images/DetailsImage.tsx:273 msgid "Upload new image" -msgstr "" +msgstr "Neues Bild hochladen" #: src/components/images/DetailsImage.tsx:279 msgid "Upload Image" -msgstr "" +msgstr "Bild hochladen" #: src/components/images/DetailsImage.tsx:292 msgid "Delete image" -msgstr "" +msgstr "Bild löschen" #: src/components/images/Thumbnail.tsx:14 #: src/components/images/Thumbnail.tsx:51 @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Element löschen" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Duplizieren" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Mehr lesen" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Unbekannter Fehler" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "QR-Code scannen" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "Bestanden" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "Fehler" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Ja" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Nein" @@ -534,7 +542,7 @@ msgstr "Mitwirkende" #: src/components/modals/AboutInvenTreeModal.tsx:171 msgid "Mobile App" -msgstr "" +msgstr "Mobile App" #: src/components/modals/AboutInvenTreeModal.tsx:172 msgid "Submit Bug Report" @@ -547,7 +555,7 @@ msgstr "Versionsinformationen kopieren" #: src/components/modals/AboutInvenTreeModal.tsx:192 #: src/components/modals/ServerInfoModal.tsx:147 msgid "Dismiss" -msgstr "" +msgstr "Verwerfen" #: src/components/modals/QrCodeModal.tsx:72 msgid "Unknown response" @@ -702,7 +710,7 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Einstellungen" @@ -766,8 +774,8 @@ msgstr "Über uns" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Benachrichtigungen" @@ -777,17 +785,17 @@ msgstr "Du hast keine ungelesenen Benachrichtigungen. " #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Benachrichtigung" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Als gelesen markieren" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Keine Ergebnisse für Suchanfrage verfügbar" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Lagerorte" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Unbekanntes Modell: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Teil Parametervorlagen" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "Testvorlage für Teil" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "Testvorlagen für Teil" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Zuliefererteil" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Zuliefererteile" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Teilkategorie" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Lagerartikel" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Lagerartikel" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Lagerort" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Lagerhistorie" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Bestandshistorie" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Version" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Builds" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Firma" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Unternehmen" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Projekt-Code" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Projektnummern" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Einkaufsbestellung" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Einkaufsbestellung" msgid "Purchase Orders" msgstr "Nachbestellungen" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Bestellposition" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Bestellpositionen" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Verkaufsauftrag" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Verkaufsaufträge" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" -msgstr "" +msgstr "Versand der Bestellung" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" -msgstr "" +msgstr "Versand der Bestellungen" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Rückgabe Auftrag" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Reklamationen" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Adressen" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Kontakt" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Kontakte" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Eigentümer" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Eigentümer" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Nutzer" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "Sendung" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Lager" @@ -1062,11 +1078,11 @@ msgstr "Einstellung aktualisiert" #: src/components/settings/SettingItem.tsx:46 #: src/components/settings/SettingItem.tsx:99 msgid "{0} updated successfully" -msgstr "" +msgstr "{0} erfolgreich aktualisiert" #: src/components/settings/SettingItem.tsx:54 msgid "Error editing setting" -msgstr "" +msgstr "Fehler beim Bearbeiten der Einstellung" #: src/components/settings/SettingItem.tsx:91 msgid "Edit Setting" @@ -1074,7 +1090,7 @@ msgstr "Einstellungen bearbeiten" #: src/components/settings/SettingList.tsx:63 msgid "No settings specified" -msgstr "" +msgstr "Keine Einstellungen angegeben" #: src/components/tables/ColumnRenderers.tsx:134 #~ msgid "Shipment Date" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,27 +1547,27 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Anzeigeneinstellungen" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Farbmodus" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Sprache" #: src/components/widgets/FeedbackWidget.tsx:18 msgid "Something is new: Platform UI" -msgstr "" +msgstr "Etwas ist neu: Plattform-UI" #: src/components/widgets/FeedbackWidget.tsx:20 msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." -msgstr "" +msgstr "Wir bauen eine neue Oberfläche mit einem modernen Stapel. Was Sie derzeit sehen, ist nicht repariert und wird neu gestaltet, aber es zeigt die UI/UX-Möglichkeiten auf, die wir weiter verfolgen werden." #: src/components/widgets/FeedbackWidget.tsx:31 msgid "Provide Feedback" @@ -1572,19 +1579,19 @@ msgstr "Erste Schritte" #: src/components/widgets/MarkdownEditor.tsx:109 msgid "Failed to upload image" -msgstr "" +msgstr "Fehler beim Hochladen des Bildes" #: src/components/widgets/MarkdownEditor.tsx:147 msgid "Notes saved" -msgstr "" +msgstr "Notizen gespeichert" #: src/components/widgets/MarkdownEditor.tsx:155 msgid "Failed to save notes" -msgstr "" +msgstr "Notiz konnte nicht gespeichert werden" #: src/components/widgets/WidgetLayout.tsx:180 msgid "Layout" -msgstr "" +msgstr "Darstellung" #: src/components/widgets/WidgetLayout.tsx:186 msgid "Reset Layout" @@ -1592,7 +1599,7 @@ msgstr "Layout zurücksetzen" #: src/components/widgets/WidgetLayout.tsx:199 msgid "Stop Edit" -msgstr "" +msgstr "Bearbeiten beenden" #: src/components/widgets/WidgetLayout.tsx:199 msgid "Edit Layout" @@ -1604,147 +1611,147 @@ msgstr "Aussehen" #: src/components/widgets/WidgetLayout.tsx:217 msgid "Show Boxes" -msgstr "" +msgstr "Boxen anzeigen" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bulgarisch" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Tschechisch" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Dänisch" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "Deutsch" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Griechisch" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "Englisch" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spanisch" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Spanisch (Mexikanisch)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persisch" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finnisch" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "Französisch" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Hebräisch" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hinduistisch" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Ungarisch" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italienisch" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japanisch" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Koreanisch" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Niederländisch" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norweger" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polnisch" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Portugiesisch" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portugiesisch (Brasilien)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Russisch" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" -msgstr "" +msgstr "Slowakisch" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Slowenisch" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Schwedisch" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Thailändisch" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Türkisch" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnamesisch" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Chinesisch (vereinfacht)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Chinesisch (Traditionell)" #: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" -msgstr "" +msgstr "Abonnierte Teile" #: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" -msgstr "" +msgstr "Abonnierte Kategorien" #: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" -msgstr "" +msgstr "Neueste Teile" #: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" -msgstr "" +msgstr "Stückliste Wartende Validierung" #: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" @@ -1757,27 +1764,27 @@ msgstr "Geringer Bestand" #: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" -msgstr "" +msgstr "Verbrauchter Bestand" #: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" -msgstr "" +msgstr "Für Bauaufträge benötigt" #: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" -msgstr "" +msgstr "Abgelaufener Bestand" #: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" -msgstr "" +msgstr "Bestand überfällig" #: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" -msgstr "" +msgstr "Bauaufträge in Arbeit" #: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" -msgstr "" +msgstr "Überfällige Bauaufträge" #: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" @@ -1785,15 +1792,15 @@ msgstr "Ausstehende Bestellungen" #: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Überfällige Bestellungen" #: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Ausstehende Aufträge" #: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Überfällige Bestellungen" #: src/defaults/dashboardItems.tsx:127 msgid "Current News" @@ -1813,11 +1820,11 @@ msgstr "Webseite" #: src/defaults/links.tsx:16 msgid "GitHub" -msgstr "" +msgstr "GitHub" #: src/defaults/links.tsx:21 msgid "Demo" -msgstr "" +msgstr "Demo" #: src/defaults/links.tsx:26 #: src/defaults/menuItems.tsx:9 @@ -1829,7 +1836,7 @@ msgstr "Startseite" #: src/pages/Index/Dashboard.tsx:19 #: src/pages/Index/Settings/UserSettings.tsx:41 msgid "Dashboard" -msgstr "" +msgstr "Dashboard" #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:48 @@ -1863,27 +1870,27 @@ msgstr "Erste Schritte" #: src/defaults/links.tsx:50 msgid "Getting started with InvenTree" -msgstr "" +msgstr "Erste Schritte mit InvenTree" #: src/defaults/links.tsx:56 msgid "API" -msgstr "" +msgstr "API" #: src/defaults/links.tsx:57 msgid "InvenTree API documentation" -msgstr "" +msgstr "InvenTree API Dokumentation" #: src/defaults/links.tsx:62 msgid "Developer Manual" -msgstr "" +msgstr "Entwicklerhandbuch" #: src/defaults/links.tsx:63 msgid "InvenTree developer manual" -msgstr "" +msgstr "InvenTree Entwicklerhandbuch" #: src/defaults/links.tsx:68 msgid "FAQ" -msgstr "" +msgstr "FAQ" #: src/defaults/links.tsx:69 msgid "Frequently asked questions" @@ -1905,15 +1912,15 @@ msgstr "Systeminformationen" #: src/defaults/links.tsx:92 #: src/defaults/links.tsx:110 msgid "About InvenTree" -msgstr "" +msgstr "Über InvenTree" #: src/defaults/links.tsx:105 msgid "About this Inventree instance" -msgstr "" +msgstr "Über diese InvenTree Instanz" #: src/defaults/links.tsx:111 msgid "About the InvenTree org" -msgstr "" +msgstr "Über die InvenTree Organisation" #: src/defaults/links.tsx:116 msgid "Licenses" @@ -1961,7 +1968,7 @@ msgstr "Benutzerattribute und Designeinstellungen." #: src/defaults/menuItems.tsx:23 msgid "View for interactive scanning and multiple actions." -msgstr "" +msgstr "Ansicht für interaktives Scannen und mehrere Aktionen." #: src/defaults/menuItems.tsx:24 #~ msgid "The fluid of Smeargle’s tail secretions changes in the intensity" @@ -2025,7 +2032,7 @@ msgstr "Link bearbeiten" #: src/forms/AttachmentForms.tsx:100 msgid "File updated" -msgstr "" +msgstr "Datei aktualisiert" #: src/forms/AttachmentForms.tsx:100 msgid "Link updated" @@ -2049,7 +2056,7 @@ msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen möchten?" #: src/forms/PartForms.tsx:105 msgid "Parent part category" -msgstr "" +msgstr "Übergeordnete Teilkategorie" #: src/forms/PartForms.tsx:106 #~ msgid "Create Part" @@ -2065,7 +2072,7 @@ msgstr "" #: src/forms/StockForms.tsx:44 msgid "Add given quantity as packs instead of individual items" -msgstr "" +msgstr "Angegebene Menge als Packungen anstatt einzelner Artikel hinzufügen" #: src/forms/StockForms.tsx:55 msgid "Enter initial quantity for this stock item" @@ -2081,7 +2088,7 @@ msgstr "" #: src/forms/StockForms.tsx:110 msgid "Add Stock Item" -msgstr "" +msgstr "Lagerartikel hinzufügen" #: src/forms/StockForms.tsx:110 #~ msgid "Create Stock Item" @@ -2089,15 +2096,15 @@ msgstr "" #: src/forms/StockForms.tsx:131 msgid "Edit Stock Item" -msgstr "" +msgstr "Lagerartikel bearbeiten" #: src/forms/StockForms.tsx:132 msgid "Stock item updated" -msgstr "" +msgstr "Lagerartikel aktualisiert" #: src/forms/StockForms.tsx:140 msgid "Parent stock location" -msgstr "" +msgstr "Übergeordneter Lagerort" #: src/functions/auth.tsx:34 #~ msgid "Error fetching token from server." @@ -2117,7 +2124,7 @@ msgstr "Abmeldung erfolgreich" #: src/functions/auth.tsx:71 msgid "You have been logged out" -msgstr "" +msgstr "Sie wurden abgemeldet" #: src/functions/auth.tsx:108 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." @@ -2134,7 +2141,7 @@ msgstr "Zurücksetzen fehlgeschlagen" #: src/functions/auth.tsx:142 msgid "Logged In" -msgstr "" +msgstr "Angemeldet" #: src/functions/auth.tsx:142 #~ msgid "Found an existing login - using it to log you in." @@ -2142,7 +2149,7 @@ msgstr "" #: src/functions/auth.tsx:143 msgid "Found an existing login - welcome back!" -msgstr "" +msgstr "Bestehende Anmeldung gefunden - Willkommen zurück!" #: src/functions/forms.tsx:50 #~ msgid "Form method not provided" @@ -2158,7 +2165,7 @@ msgstr "Ungültiges Formular" #: src/functions/forms.tsx:183 msgid "method parameter not supplied" -msgstr "" +msgstr "methodenparameter nicht angegeben" #: src/functions/notifications.tsx:9 msgid "Not implemented" @@ -2166,7 +2173,7 @@ msgstr "Nicht implementiert" #: src/functions/notifications.tsx:10 msgid "This feature is not yet implemented" -msgstr "" +msgstr "Diese Funktion wurde noch nicht implementiert" #: src/functions/notifications.tsx:20 msgid "Permission denied" @@ -2178,7 +2185,7 @@ msgstr "Du hast keine Berechtigung, diese Aktion durchzuführen" #: src/functions/notifications.tsx:32 msgid "Invalid Return Code" -msgstr "" +msgstr "Ungültiger Rückgabecode" #: src/functions/notifications.tsx:33 msgid "Server returned status {returnCode}" @@ -2186,19 +2193,19 @@ msgstr "" #: src/hooks/UseForm.tsx:86 msgid "Item Created" -msgstr "" +msgstr "Element angelegt" #: src/hooks/UseForm.tsx:103 msgid "Item Updated" -msgstr "" +msgstr "Eintrag aktualisiert" #: src/hooks/UseForm.tsx:122 msgid "Item Deleted" -msgstr "" +msgstr "Element gelöscht" #: src/hooks/UseForm.tsx:126 msgid "Are you sure you want to delete this item?" -msgstr "" +msgstr "Sind Sie sicher, dass Sie dieses Element löschen möchten?" #: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" @@ -2215,7 +2222,7 @@ msgstr "Willkommen, unten anmelden" #: src/pages/Auth/Login.tsx:77 msgid "Register below" -msgstr "" +msgstr "Registrieren" #: src/pages/Auth/Login.tsx:121 #~ msgid "Edit host options" @@ -2264,19 +2271,19 @@ msgstr "Es ist ein unerwarteter Fehler aufgetreten." #: src/pages/Index/Dashboard.tsx:22 msgid "Autoupdate" -msgstr "" +msgstr "Autom. aktualisieren" #: src/pages/Index/Dashboard.tsx:26 msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." -msgstr "" +msgstr "Diese Seite ist ein Ersatz für die alte Startseite mit den gleichen Informationen." #: src/pages/Index/Home.tsx:58 msgid "Welcome to your Dashboard{0}" -msgstr "" +msgstr "Willkommen zu deinem Dashboard{0}" #: src/pages/Index/Playground.tsx:197 msgid "This page is a showcase for the possibilities of Platform UI." -msgstr "" +msgstr "Diese Seite ist ein Schaufenster für die Möglichkeiten der Plattform-Oberfläche." #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -2416,11 +2423,11 @@ msgstr "" #: src/pages/Index/Scan.tsx:214 msgid "Manual input" -msgstr "" +msgstr "Manuelle Eingabe" #: src/pages/Index/Scan.tsx:215 msgid "Image Barcode" -msgstr "" +msgstr "Bild Barcode" #: src/pages/Index/Scan.tsx:245 msgid "Selected elements are not known" @@ -2428,28 +2435,28 @@ msgstr "" #: src/pages/Index/Scan.tsx:252 msgid "Multiple object types selected" -msgstr "" +msgstr "Mehrere Objekttypen ausgewählt" #: src/pages/Index/Scan.tsx:259 msgid "Actions for {0}" -msgstr "" +msgstr "Aktionen für {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Anzahl" #: src/pages/Index/Scan.tsx:276 msgid "Scan Page" -msgstr "" +msgstr "Seite scannen" #: src/pages/Index/Scan.tsx:279 msgid "This page can be used for continuously scanning items and taking actions on them." -msgstr "" +msgstr "Diese Seite kann benutzt werden, um kontinuierlich Artikel zu scannen und Aktionen durchzuführen." #: src/pages/Index/Scan.tsx:294 msgid "Select the input method you want to use to scan items." -msgstr "" +msgstr "Wählen Sie die Eingabemethode, die Sie verwenden möchten, um Elemente zu scannen." #: src/pages/Index/Scan.tsx:296 msgid "Input" @@ -2457,7 +2464,7 @@ msgstr "Eingabe" #: src/pages/Index/Scan.tsx:303 msgid "Select input method" -msgstr "" +msgstr "Eingabemethode auswählen" #: src/pages/Index/Scan.tsx:304 msgid "Nothing found" @@ -2465,7 +2472,7 @@ msgstr "Nichts gefunden" #: src/pages/Index/Scan.tsx:312 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -msgstr "" +msgstr "Abhängig von den ausgewählten Bauteilen werden hier Aktionen angezeigt. Derzeit werden nicht alle Barcode-Typen unterstützt." #: src/pages/Index/Scan.tsx:314 msgid "Action" @@ -2473,15 +2480,15 @@ msgstr "Aktion" #: src/pages/Index/Scan.tsx:323 msgid "{0} items selected" -msgstr "" +msgstr "{0} Element(e) ausgewählt" #: src/pages/Index/Scan.tsx:326 msgid "General Actions" -msgstr "" +msgstr "Allgemeine Aktionen" #: src/pages/Index/Scan.tsx:339 msgid "Lookup part" -msgstr "" +msgstr "Teil suchen" #: src/pages/Index/Scan.tsx:346 msgid "Open Link" @@ -2489,14 +2496,14 @@ msgstr "Link öffnen" #: src/pages/Index/Scan.tsx:361 msgid "History is locally kept in this browser." -msgstr "" +msgstr "Die Historie wird lokal in diesem Browser gespeichert." #: src/pages/Index/Scan.tsx:362 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "Verlauf" @@ -2522,11 +2529,11 @@ msgstr "" #: src/pages/Index/Scan.tsx:510 msgid "Enter item serial or data" -msgstr "" +msgstr "Seriennummer oder Daten des Artikels eingeben" #: src/pages/Index/Scan.tsx:522 msgid "Add dummy item" -msgstr "" +msgstr "Dummy Element hinzufügen" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:32 msgid "Account Details" @@ -2534,15 +2541,15 @@ msgstr "Kontodetails" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:41 msgid "First name" -msgstr "" +msgstr "Vorname" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 msgid "Last name" -msgstr "" +msgstr "Nachname" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 msgid "First name:" -msgstr "" +msgstr "Vorname:" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:58 #~ msgid "First name: {0}" @@ -2554,15 +2561,15 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:62 msgid "Last name:" -msgstr "" +msgstr "Nachname:" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" -msgstr "" +msgstr "Pseudosprache verwenden" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:53 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Single Sign On Konten" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:60 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:78 @@ -2571,19 +2578,19 @@ msgstr "Nicht aktiviert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:63 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "Single Sign On ist für diesen Server nicht aktiviert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:67 msgid "Multifactor" -msgstr "" +msgstr "Multifaktor" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:81 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "Multifaktor-Authentifizierung ist nicht für Ihr Konto eingerichtet" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:132 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Die folgenden E-Mail-Adressen sind mit deinem Konto verknüpft:" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:144 msgid "Primary" @@ -2603,7 +2610,7 @@ msgstr "Emailadresse hinzufügen" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:169 msgid "E-Mail" -msgstr "" +msgstr "E-Mail" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:170 msgid "E-Mail address" @@ -2623,7 +2630,7 @@ msgstr "E-Mail hinzufügen" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:263 msgid "Provider has not been configured" -msgstr "" +msgstr "Anbieter wurde nicht konfiguriert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:273 msgid "Not configured" @@ -2631,11 +2638,11 @@ msgstr "Nicht konfiguriert" #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:276 msgid "There are no social network accounts connected to this account." -msgstr "" +msgstr "Es sind keine sozialen Netzwerke mit diesem Konto verbunden." #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:286 msgid "You can sign in to your account using any of the following third party accounts" -msgstr "" +msgstr "Sie können sich mit einem der folgenden Drittanbieterkonten bei Ihrem Konto anmelden" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:68 msgid "bars" @@ -2651,7 +2658,7 @@ msgstr "Punkte" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:81 msgid "Theme" -msgstr "" +msgstr "Theme" #: src/pages/Index/Settings/AccountSettings/UserThemePanel.tsx:87 msgid "Primary color" @@ -2683,15 +2690,15 @@ msgstr "Lader" #: src/pages/Index/Settings/AdminCenter/Index.tsx:69 msgid "Background Tasks" -msgstr "" +msgstr "Hintergrundprozesse" #: src/pages/Index/Settings/AdminCenter/Index.tsx:75 msgid "Error Reports" -msgstr "" +msgstr "Fehlerberichte" #: src/pages/Index/Settings/AdminCenter/Index.tsx:81 msgid "Currencies" -msgstr "" +msgstr "Währungen" #: src/pages/Index/Settings/AdminCenter/Index.tsx:99 msgid "Custom Units" @@ -2704,7 +2711,7 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/Index.tsx:117 #: src/tables/machine/MachineTypeTable.tsx:278 msgid "Machines" -msgstr "" +msgstr "Maschinen" #: src/pages/Index/Settings/AdminCenter/Index.tsx:127 msgid "Quick Actions" @@ -2720,7 +2727,7 @@ msgstr "Erweiterte Optionen" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:43 msgid "Machine types" -msgstr "" +msgstr "Maschinentypen" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:53 msgid "Machine Error Stack" @@ -2733,11 +2740,11 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:28 #: src/tables/settings/UserTable.tsx:103 msgid "Info" -msgstr "" +msgstr "Info" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 msgid "External plugins are not enabled for this InvenTree installation." -msgstr "" +msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert." #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:33 #~ msgid "Plugin Error Stack" @@ -2753,7 +2760,7 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:50 msgid "Plugin Errors" -msgstr "" +msgstr "Plugin-Fehler" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:59 msgid "Plugin Settings" @@ -2761,15 +2768,15 @@ msgstr "Plugin Einstellungen" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:25 msgid "Pending Tasks" -msgstr "" +msgstr "Anstehende Aufgaben" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:33 msgid "Scheduled Tasks" -msgstr "" +msgstr "Geplante Aufgaben" #: src/pages/Index/Settings/AdminCenter/TaskManagementPanel.tsx:41 msgid "Failed Tasks" -msgstr "" +msgstr "Fehlgeschlagene Aufgaben" #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:18 #: src/tables/settings/UserTable.tsx:121 @@ -2818,7 +2825,7 @@ msgstr "Berichte" #: src/pages/Index/Settings/SystemSettings.tsx:221 #: src/pages/part/PartDetail.tsx:565 msgid "Stocktake" -msgstr "" +msgstr "Inventur" #: src/pages/Index/Settings/SystemSettings.tsx:226 #: src/pages/build/BuildDetail.tsx:264 @@ -2828,9 +2835,9 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" -msgstr "" +msgstr "Zu Benutzereinstellungen wechseln" #: src/pages/Index/Settings/UserSettings.tsx:29 msgid "Account" @@ -2850,7 +2857,7 @@ msgstr "Kontoeinstellungen" #: src/pages/Index/Settings/UserSettings.tsx:119 msgid "Switch to System Setting" -msgstr "" +msgstr "Zu Systemeinstellungen wechseln" #: src/pages/Index/UserSettings.tsx:103 #~ msgid "User Settings" @@ -2872,13 +2879,17 @@ msgstr "Diese Seite ist nicht bekannt oder wurde verschoben." msgid "Go to the start page" msgstr "Zur Startseite" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "Benachrichtigungen löschen" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Als ungelesen markieren" #: src/pages/build/BuildDetail.tsx:72 msgid "Base Part" -msgstr "" +msgstr "Basisteil" #: src/pages/build/BuildDetail.tsx:80 msgid "Build Status" @@ -2895,11 +2906,11 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:122 msgid "Incomplete Outputs" -msgstr "" +msgstr "Unvollständige Endprodukte" #: src/pages/build/BuildDetail.tsx:128 msgid "Completed Outputs" -msgstr "" +msgstr "Fertiggestellte Endprodukte" #: src/pages/build/BuildDetail.tsx:141 msgid "Consumed Stock" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Anhänge" @@ -2926,7 +2937,7 @@ msgstr "Anhänge" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Notizen" @@ -2999,13 +3010,13 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" -msgstr "" +msgstr "Details" #: src/pages/company/CompanyDetail.tsx:81 msgid "Manufactured Parts" -msgstr "" +msgstr "Hergestellte Teile" #: src/pages/company/CompanyDetail.tsx:90 msgid "Supplied Parts" @@ -3013,7 +3024,7 @@ msgstr "" #: src/pages/company/CompanyDetail.tsx:131 msgid "Assigned Stock" -msgstr "" +msgstr "Zugeordneter Bestand" #: src/pages/company/CompanyDetail.tsx:175 #~ msgid "Edit company" @@ -3035,7 +3046,7 @@ msgstr "" #: src/tables/sales/ReturnOrderTable.tsx:64 #: src/tables/sales/SalesOrderTable.tsx:95 msgid "Customer" -msgstr "" +msgstr "Kunde" #: src/pages/company/ManufacturerDetail.tsx:8 #: src/pages/company/ManufacturerPartDetail.tsx:88 @@ -3092,16 +3103,16 @@ msgstr "" #: src/pages/part/PartDetail.tsx:136 #: src/tables/build/BuildLineTable.tsx:106 msgid "Available Stock" -msgstr "" +msgstr "Verfügbarer Bestand" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "Auf Lager" #: src/pages/part/PartDetail.tsx:155 msgid "Minimum Stock" -msgstr "" +msgstr "Minimaler Bestand" #: src/pages/part/PartDetail.tsx:165 #: src/tables/bom/BomTable.tsx:180 @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "Gebäude" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Kategorie" @@ -3139,7 +3150,7 @@ msgstr "IPN" #: src/pages/part/PartDetail.tsx:250 msgid "Revision" -msgstr "" +msgstr "Version" #: src/pages/part/PartDetail.tsx:261 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:39 @@ -3149,7 +3160,7 @@ msgstr "Einheiten" #: src/pages/part/PartDetail.tsx:271 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" -msgstr "" +msgstr "Schlüsselwörter" #: src/pages/part/PartDetail.tsx:281 msgid "Creation Date" @@ -3175,15 +3186,15 @@ msgstr "Preisspanne" #: src/pages/part/PartDetail.tsx:332 msgid "Last Stocktake" -msgstr "" +msgstr "Letzte Inventur" #: src/pages/part/PartDetail.tsx:393 msgid "Default Location" -msgstr "" +msgstr "Standard Lagerort" #: src/pages/part/PartDetail.tsx:404 msgid "Default Supplier" -msgstr "" +msgstr "Standard Zulieferer" #: src/pages/part/PartDetail.tsx:415 msgid "Link" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Varianten" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Ferienguthaben/Freitage" @@ -3208,7 +3219,7 @@ msgstr "Stückliste" #: src/pages/part/PartDetail.tsx:509 msgid "Used In" -msgstr "" +msgstr "Verwendet in" #: src/pages/part/PartDetail.tsx:521 #: src/pages/purchasing/PurchasingIndex.tsx:37 @@ -3221,7 +3232,7 @@ msgstr "Terminierung" #: src/pages/part/PartDetail.tsx:570 msgid "Test Templates" -msgstr "" +msgstr "Testvorlagen" #: src/pages/part/PartDetail.tsx:581 msgid "Related Parts" @@ -3237,7 +3248,7 @@ msgstr "Lager-Aktionen" #: src/pages/part/PartDetail.tsx:662 msgid "Count Stock" -msgstr "" +msgstr "Bestand zählen" #: src/pages/part/PartDetail.tsx:663 msgid "Count part stock" @@ -3290,19 +3301,19 @@ msgstr "Abgeschlossene Sendungen" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Bestandsverfolgung" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "Test Daten" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Installierte Elemente" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Untergeordnete Objekte" @@ -3314,56 +3325,67 @@ msgstr "Untergeordnete Objekte" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "Lagervorgänge" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Bestand zählen" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Hinzufügen" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Lagerbestand hinzufügen" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Lagerbestand entfernen" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Lagerbestand verschieben" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Lagerartikel duplizieren" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Lagerartikel duplizieren" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "Datum" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Zieldatum" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Währung" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Gesamtpreis" @@ -3469,101 +3491,102 @@ msgstr "Überfällige Aufträge anzeigen" msgid "Remove filter" msgstr "Filter entfernen" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Filter auswählen" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Wert" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Filter hinzufügen" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Filter zurücksetzen" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Keine Einträge gefunden" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "Der Server hat einen falschen Datentyp zurückgegeben" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Ungültige Anfrage" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Nicht autorisiert" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Verweigert" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Nicht gefunden" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" -msgstr "" +msgstr "Datensätze erfolgreich gelöscht" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" -msgstr "" +msgstr "Löschen der Datensätze fehlgeschlagen" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Barcode-Aktionen" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Druck-Aktionen" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Tabellenfilter" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3623,7 +3646,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:237 msgid "Show items with available stock" -msgstr "" +msgstr "Artikel mit verfügbarem Lagerbestand anzeigen" #: src/tables/bom/BomTable.tsx:241 msgid "Show items on order" @@ -3657,7 +3680,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:273 msgid "View BOM" -msgstr "" +msgstr "Stückliste anzeigen" #: src/tables/bom/BomTable.tsx:284 msgid "Validate BOM line" @@ -3665,7 +3688,7 @@ msgstr "Stücklisten-Position bestätigen" #: src/tables/bom/BomTable.tsx:292 msgid "Edit Substitutes" -msgstr "" +msgstr "Ersatzteil bearbeiten" #: src/tables/bom/BomTable.tsx:306 msgid "Edit Bom Item" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Aktiv" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Verfügbar" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Alter" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Montage" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Nicht virtuell" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "Plugin-Informationen" msgid "Author" msgstr "Autor" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "Datum" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "Beispiel" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Installiert" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "Benutzer bearbeiten" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "Nach Lagerstatus filtern" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "Zugewiesen" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "Erschöpft" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "Nachverfolgbare Freigabe" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index ae0252964234..afcca0a5cc87 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index b70011fa6a2c..1e12efe512fc 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -48,8 +48,8 @@ msgstr "Update" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -269,26 +269,26 @@ msgstr "State: <0>worker ({0}), <1>plugins{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Error" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Search" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Loading" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "No results found" @@ -303,7 +303,7 @@ msgstr "Remove the associated image from this item?" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Remove" @@ -311,8 +311,8 @@ msgstr "Remove" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Cancel" @@ -393,7 +393,7 @@ msgid "Delete item" msgstr "Delete item" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Duplicate" @@ -411,7 +411,7 @@ msgid "Read More" msgstr "Read More" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Unknown error" @@ -453,11 +453,19 @@ msgid "Scan QR code" msgstr "Scan QR code" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "Pass" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "Fail" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Yes" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "No" @@ -697,7 +705,7 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "System Settings" @@ -761,8 +769,8 @@ msgstr "About" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Notifications" @@ -772,17 +780,17 @@ msgstr "You have no unread notifications." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notification" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Mark as read" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -821,12 +829,12 @@ msgid "No results available for search query" msgstr "No results available for search query" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Stock Locations" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Unknown model: {model}" @@ -856,88 +864,96 @@ msgid "Part Parameter Templates" msgstr "Part Parameter Templates" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "Part Test Template" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "Part Test Templates" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Supplier Part" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Supplier Parts" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Manufacturer Part" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Manufacturer Parts" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Part Category" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Stock Item" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Stock Items" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Stock Location" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Stock History" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Stock Histories" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Build" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Builds" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Company" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Companies" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Project Code" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Project Codes" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Purchase Order" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -945,79 +961,79 @@ msgstr "Purchase Order" msgid "Purchase Orders" msgstr "Purchase Orders" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Purchase Order Line" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Purchase Order Lines" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Sales Order" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Sales Orders" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Sales Order Shipment" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Sales Order Shipments" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Return Order" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Return Orders" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Address" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Addresses" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Contact" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Contacts" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Owner" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Owners" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "User" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1033,8 +1049,8 @@ msgstr "Shipment" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Stock" @@ -1226,10 +1242,6 @@ msgstr "No settings specified" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1302,11 +1314,6 @@ msgstr "No settings specified" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1535,17 +1542,17 @@ msgstr "No settings specified" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Display Settings" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Color Mode" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Language" @@ -1601,127 +1608,127 @@ msgstr "Appearance" msgid "Show Boxes" msgstr "Show Boxes" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bulgarian" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Czech" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Danish" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "German" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Greek" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "English" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spanish" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "Spanish (Mexican)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "Farsi / Persian" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finnish" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "French" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Hebrew" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Hungarian" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italian" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japanese" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Korean" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Dutch" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norwegian" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polish" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Portuguese" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "Slovak" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnamese" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" @@ -2430,7 +2437,7 @@ msgid "Actions for {0}" msgstr "Actions for {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Count" @@ -2491,7 +2498,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "History" @@ -2551,7 +2558,7 @@ msgstr "First name:" msgid "Last name:" msgstr "Last name:" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Use pseudo language" @@ -2823,7 +2830,7 @@ msgstr "Stocktake" msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Switch to User Setting" @@ -2867,7 +2874,11 @@ msgstr "Sorry, this page is not known or was moved." msgid "Go to the start page" msgstr "Go to the start page" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "Delete Notifications" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Mark as unread" @@ -2911,7 +2922,7 @@ msgstr "Child Build Orders" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Attachments" @@ -2921,7 +2932,7 @@ msgstr "Attachments" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Notes" @@ -2994,7 +3005,7 @@ msgstr "Build Order Actions" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Details" @@ -3090,7 +3101,7 @@ msgid "Available Stock" msgstr "Available Stock" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "In Stock" @@ -3124,7 +3135,7 @@ msgid "Building" msgstr "Building" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Category" @@ -3193,7 +3204,7 @@ msgid "Variants" msgstr "Variants" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Allocations" @@ -3285,19 +3296,19 @@ msgstr "Completed Shipments" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Stock Tracking" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "Test Data" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Installed Items" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Child Items" @@ -3309,56 +3320,67 @@ msgstr "Child Items" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "Stock Operations" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Count stock" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Add" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Add stock" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Remove stock" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Transfer" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Transfer stock" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Duplicate stock item" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Duplicate stock item" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "Note" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "Date" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Target Date" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Currency" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Total Price" @@ -3464,101 +3486,102 @@ msgstr "Show overdue orders" msgid "Remove filter" msgstr "Remove filter" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Select filter" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Value" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Select filter value" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "Table Filters" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Add Filter" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Clear Filters" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "No records found" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "Server returned incorrect data type" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Bad request" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Unauthorized" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Forbidden" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Not found" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "Delete selected records" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 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:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "Deleted records" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "Records were deleted successfully" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "Failed to delete records" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Barcode actions" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Refresh data" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Table filters" @@ -3591,7 +3614,7 @@ msgstr "Includes variant stock" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "Stock Information" @@ -3689,7 +3712,7 @@ msgstr "Are you sure you want to remove this BOM item?" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Active" @@ -3713,8 +3736,8 @@ msgstr "Show allocated lines" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Available" @@ -3743,7 +3766,7 @@ msgid "In production" msgstr "In production" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "No stock available" @@ -3919,7 +3942,7 @@ msgstr "Initialized" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4011,11 +4034,11 @@ msgstr "Machine type detail" msgid "Machine driver detail" msgstr "Machine driver detail" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Age" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "Message" @@ -4049,26 +4072,26 @@ msgstr "Edit Part Category" msgid "Add Part Category" msgstr "Add Part Category" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "New Part Parameter" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "Edit Part Parameter" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "Delete Part Parameter" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "Add parameter" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "Include Variants" @@ -4097,19 +4120,19 @@ msgstr "Has Units" msgid "Show templates with units" msgstr "Show templates with units" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "Add Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "Edit Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "Delete Parameter Template" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "Add parameter template" @@ -4134,7 +4157,7 @@ msgid "Filter by part active status" msgstr "Filter by part active status" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Assembly" @@ -4207,30 +4230,66 @@ msgid "Not Virtual" msgstr "Not Virtual" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "Results" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "No Results" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "Show required tests" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "Show enabled tests" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "Show tests that require a value" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "Show tests that require an attachment" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "Include Inherited" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "Show tests from inherited templates" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "Has Results" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "Show tests which have recorded results" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "Add Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "Edit Test Template" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "Delete Test Template" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "This action cannot be reversed" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "Any tests results associated with this template will be deleted" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "Search..." @@ -4301,10 +4360,6 @@ msgstr "Plugin information" msgid "Author" msgstr "Author" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "Date" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "Package information" @@ -4474,7 +4529,7 @@ msgid "Sample" msgstr "Sample" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Installed" @@ -4864,155 +4919,243 @@ msgstr "Added user" msgid "Edit user" msgstr "Edit user" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "This stock item is in production" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "This stock item has been assigned to a sales order" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "This stock item has been assigned to a customer" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "This stock item is installed in another stock item" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "This stock item has been consumed by a build order" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "This stock item has expired" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "This stock item is stale" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "This stock item is fully allocated" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "This stock item is partially allocated" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "This stock item has been depleted" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "Show stock for active parts" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "Filter by stock status" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "Show stock for assmebled parts" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "Allocated" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "Show items which have been allocated" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "Show items which are available" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "Include Sublocations" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "Include stock in sublocations" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "Depleted" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "Show depleted stock items" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "Show items which are in stock" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "In Production" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "Show items which are in production" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "Include stock items for variant parts" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 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:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "Sent to Customer" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 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:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "Is Serialized" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "Show items which have a serial number" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "Has Batch Code" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "Show items which have a batch code" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "Tracked" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "Show tracked items" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "Has Purchase Price" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "Show items which have a purchase price" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "External Location" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "Show items in an external location" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "Test" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "Test Results" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "Test result for installed stock item" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "Result" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "No Result" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "Add Test Result" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "Test result added" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "Edit Test Result" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "Test result updated" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "Delete Test Result" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "Test result deleted" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "Test Passed" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "Test result has been recorded" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "Pass Test" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "Show results for required tests" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "Include Installed" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "Show results for installed stock items" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "Passed" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "Show only passed tests" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "Include sublocations in results" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 5b7e937f2f16..6ebc5b85de64 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -48,8 +48,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -250,26 +250,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -284,7 +284,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -292,8 +292,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -374,7 +374,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -392,7 +392,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -434,11 +434,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -678,7 +686,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -734,8 +742,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -745,17 +753,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -794,12 +802,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -829,88 +837,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -918,79 +934,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1006,8 +1022,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1199,10 +1215,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "" @@ -1271,11 +1283,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1504,17 +1511,17 @@ msgstr "" #~ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1570,127 +1577,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2195,7 +2202,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2256,7 +2263,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2316,7 +2323,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2588,7 +2595,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2628,7 +2635,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2672,7 +2683,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2682,7 +2693,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2755,7 +2766,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -2847,7 +2858,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -2881,7 +2892,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -2950,7 +2961,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3034,19 +3045,19 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3058,56 +3069,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3213,101 +3235,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3340,7 +3363,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3438,7 +3461,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3462,8 +3485,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3492,7 +3515,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3668,7 +3691,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -3760,11 +3783,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -3798,26 +3821,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -3846,19 +3869,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -3883,7 +3906,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -3956,30 +3979,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4050,10 +4109,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4223,7 +4278,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4613,155 +4668,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index b7ca00661c59..3ff8c3498556 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "Órdenes de compra" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Ordenes de devolución" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Cambiar a Configuración de Usuario" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Detalles" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "En Stock" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Contar stock" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Agregar" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Agregar stock" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Remover stock" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Transferir stock" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Duplicar artículo de stock" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Duplicar artículo de stock" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Activo" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "Usuario agregado" msgid "Edit user" msgstr "Editar usuario" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "En producción" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Leer la documentación" - diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index bfdc3f77d030..8aaa51d5b06f 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index a81b30219b28..9950d85142d0 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 3e6754382b23..1fd289b7b938 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -53,8 +53,8 @@ msgstr "Mise à jour" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Erreur" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Rechercher" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Chargement" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Aucun résultat trouvé" @@ -308,7 +308,7 @@ msgstr "Supprimer l'image associée de cet élément ?" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Supprimer" @@ -316,8 +316,8 @@ msgstr "Supprimer" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Annuler" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Supprimer l’article" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Dupliquer" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "En Savoir Plus" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Erreur inconnue" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Scanner le QR code" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Oui" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Non" @@ -702,7 +710,7 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Les paramètres du système" @@ -766,8 +774,8 @@ msgstr "À propos" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Notifications" @@ -777,17 +785,17 @@ msgstr "Vous n'avez pas de notifications non lues." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notification" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Marqué comme lu" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Emplacements de stock" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Modèle inconnu : {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Modèles de paramètres de pièce" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Pièces du fournisseur" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Catégorie de composant" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Article en stock" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Articles en stock" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Emplacement du stock" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Historique du stock" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Historique du stock" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Construction" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Construction" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Société" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Sociétés" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Code du projet" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Codes du projet" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Commande d’achat" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Commande d’achat" msgid "Purchase Orders" msgstr "Ordres d'achat" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Ligne de commande d'achat" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Lignes de commande d'achat" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Ventes" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Ordres de vente" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Expédition de la commande" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Expéditions de la commande" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Retour de commande" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Retours" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Adresses" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Contact" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Contacts" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Propriétaire" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Utilisateur" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Paramètres d'Affichage" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Mode de couleur" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Langue" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Turc" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnamien" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Chinois (Simplifié)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Chinois (Traditionnel)" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "Prénom:" msgid "Last name:" msgstr "Nom de famille:" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Utiliser une pseudo langue" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "Désolé, cette page est inconnue ou a été déplacée." msgid "Go to the start page" msgstr "Aller à la page d'accueil" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "Construire" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Catégorie" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Variants" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Allocations" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Date cible" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Devise" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Prix total" @@ -3469,101 +3491,102 @@ msgstr "Afficher les commandes en retard" msgid "Remove filter" msgstr "Supprimer le filtre" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Sélection du filtre" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filtrer" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Valeur" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Sélection de la valeur du filtre" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "Filtres des tables" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Ajouter un filtre" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Effacer filtres" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Pas d'enregistrement trouvé" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "Le serveur à retourner un type de donnée incorrect" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Requête invalide" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Non autorisé" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Accès interdit" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Elément non trouvé" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 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:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "Cette action ne peut pas être annulée !" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "Enregistrement supprimé" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "Les enregistrements ont été supprimés avec succès" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "Échec de la suppression des enregistrements" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Actions de code-barres" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Actions d'impression" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Actualiser les données" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Filtres de tableau" @@ -3596,7 +3619,7 @@ msgstr "Inclut le stock de variantes" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "Information de stock" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Disponible" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "L'interface utilisateur de la plateforme est optimisée pour les tablett #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Lire la documentation" - diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 26c0db0fd5d9..8245ca9afa86 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 0aea45f5cc36..378a010ccc42 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "क्यूआर कोड स्कैन करें" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index afd16cfc0acf..206f0a8c2064 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Hiba" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Keresés" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Betöltés" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Nincs találat" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Eltávolítás" @@ -316,8 +316,8 @@ msgstr "Eltávolítás" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Mégsem" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Tétel törlése" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Másolás" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Tudj meg többet" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Ismeretlen hiba" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "QR kód beolvasása" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Igen" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Nem" @@ -702,7 +710,7 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Rendszerbeállítások" @@ -766,8 +774,8 @@ msgstr "Névjegy" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Értesítések" @@ -777,17 +785,17 @@ msgstr "Nincs olvasatlan értesítésed." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Értesítés" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Megjelölés olvasottként" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Nincs találat a keresésre" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Készlethelyek" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Ismeretlen model: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Alkatrész paraméter sablonok" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Alkatrész kategória" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Készlet tétel" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Készlet tételek" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Készlet hely" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Készlettörténet" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Készlettörténet" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Gyártás" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Gyártások" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Cég" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Cégek" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Projektszám" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Projektszámok" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Beszerzési rendelés" msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Beszerzési rendelés tétel" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Beszerzési rendelés tételei" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Vevői rendelés" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Vevői rendelések" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Vevői rendelés szállítmány" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Vevői rendelés szállítmányok" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Visszavétel" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Visszavételek" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Cím" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Címek" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Kapcsolat" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Kapcsolatok" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Tulajdonos" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Tulajdonosok" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Felhasználó" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "Szállítmány" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Készlet" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Megjelenítési beállítások" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Megjelenítési mód" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Nyelv" @@ -1606,127 +1613,127 @@ msgstr "Megjelenítés" msgid "Show Boxes" msgstr "Dobozok megjelenítése" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bolgár" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Cseh" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Dán" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "Német" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Görög" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "Angol" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spanyol" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finn" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "Francia" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Héber" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Magyar" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Olasz" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japán" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Koreai" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Holland" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norvég" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Lengyel" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Portugál" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Orosz" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Szlovén" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Svéd" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Tháj" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Török" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnámi" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Kínai (egyszerűsített)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Kínai (Hagyományos)" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "{0} műveletei" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Mennyiség" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "Az előzmények a böngésző helyi tárhelyén tárolódnak. Így nem lesz megosztva más felhasználókkal vagy más eszközökkel, de az újratöltések során megmarad. Kijelölhetsz elemeket az előzményekből, hogy műveleteket hajts végre rajtuk. Elemek hozzáadásához szkennelje be/írja be azokat a beviteli területen." #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "Előzmények" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Használj pszeudo nyelvet" @@ -2828,7 +2835,7 @@ msgstr "Leltár" msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Felhasználói beállításra váltás" @@ -2872,7 +2879,11 @@ msgstr "Elnézést, ez az oldal ismeretlen vagy el lett mozgatva." msgid "Go to the start page" msgstr "Ugrás a kezdőlapra" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Megjelölés olvasatlanként" @@ -2916,7 +2927,7 @@ msgstr "Alárendelt gyártások" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Mellékletek" @@ -2926,7 +2937,7 @@ msgstr "Mellékletek" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Megjegyzések" @@ -2999,7 +3010,7 @@ msgstr "Gyártáshoz foglalások" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Részletek" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "Készleten" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "Gyártásban" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Kategória" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Változatok" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Foglalások" @@ -3290,19 +3301,19 @@ msgstr "Kész szállítmányok" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Készlettörténet" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "Teszt adatok" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Beépített tételek" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Gyermek tételek" @@ -3314,56 +3325,67 @@ msgstr "Gyermek tételek" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "Készlet műveletek" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Leltározás" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Hozzáadás" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Készlethez ad" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Készlet csökkentése" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Áthelyezés" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Készlet tétel másolása" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Készlet tétel másolása" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Cél dátum" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Pénznem" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Teljes ár" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "Szűrő eltávolítása" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Szűrő kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Szűrő" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Érték" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Szűrő érték kiválasztása" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Szűrő hozzáadása" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Nincs találat" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "A szerver hibás adattípust küldött vissza" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Hibás kérés" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Tiltott" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Nem található" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Vonalkód műveletek" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Nyomtatási műveletek" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Táblaszűrők" @@ -3596,7 +3619,7 @@ msgstr "Változatokkal együtt" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "Készlet adatok" @@ -3694,7 +3717,7 @@ msgstr "Biztos benne, hogy eltávolítja ezt az alkatrészjegyzék tételt?" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Aktív" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Elérhető" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "Nincs elérhető készlet" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Állapot" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Életkor" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "Üzenet" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "Alkatrész paraméter szerkesztése" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "Alkatrész paraméter törlése" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "Paraméter hozzáadás" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "Változatok is" @@ -4102,19 +4125,19 @@ msgstr "Van mértékegysége" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "Alkatrész paraméter sablon szerkesztés" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "Paraméter sablon törlés" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "Paraméter sablon létrehozás" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Szűrés aktív státusz szerint" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Gyártmány" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Nem virtuális" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "Minta" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Telepítve" @@ -4869,155 +4924,243 @@ msgstr "Felhasználó hozzáadása sikeres" msgid "Edit user" msgstr "Felhasználó szerkesztése" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "Ez a készlet tétel gyártásban van" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "Készlet tétel beépült egy másikba" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "Készlet tétel fel lett használva egy gyártásban" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "Készlet tétel lejárt" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "Készlet tétel lejárt" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "Készlet tétel teljesen foglalva" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "Készlet tétel részlegesen foglalva" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "Készlet tétel elfogyott" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "A platform felhasználói felülete táblagépekre és asztali számít #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Olvasd el a dokumentációt" - diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 2efbfd752d22..1a4d0e914743 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 0dff4267ec24..1d6a2c2637f4 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "エラー" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "読み込み中" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "キャンセル" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "続きを読む" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "既読にする" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "在庫場所" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "在庫場所" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "ユーザー" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "在庫" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "言語" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "未読にする" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "添付ファイル" @@ -2926,7 +2937,7 @@ msgstr "添付ファイル" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "メモ" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "詳細" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "フィルタを削除" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "フィルタを選択" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "フィルタ" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "値" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "フィルタの値を選択" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "フィルタを追加" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "表フィルタ" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "有効なパーツでフィルタ" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "仮想部品ではない" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index c2187b065ed2..4dd23268f858 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index ff93f58aa42d..503ce9276cc0 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Verkooporder" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Verkooporders" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Verzending verkooporder" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Verzendingen verkooporders" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Retourorder" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Retourorders" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Productieorders" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Bijlagen" @@ -2926,7 +2937,7 @@ msgstr "Bijlagen" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Opmerkingen" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "Voltooide Verzendingen" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 48e4bf28e95d..71aacebe0e70 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -53,8 +53,8 @@ msgstr "Oppdater" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Status: <0>arbeider ({0}), <1>utvidelser{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Feil" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Søk" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Laster" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Ingen resultater funnet" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Fjern" @@ -316,8 +316,8 @@ msgstr "Fjern" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Avbryt" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Slett element" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Dupliser" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Les mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Ukjent feil" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Skann QR-kode" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Ja" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Nei" @@ -702,7 +710,7 @@ msgstr "Kontoinnstillinger" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Systeminnstillinger" @@ -766,8 +774,8 @@ msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Varlser" @@ -777,17 +785,17 @@ msgstr "Du har ingen uleste varsler." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Varsel" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Merk som lest" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Ingen resultater tilgjengelig for søk" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Lagerplasseringer" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Ukjent modell: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Maler for Delparameter" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Leverandørdel" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Leverandørdeler" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Produsentdel" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Produsentdeler" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Delkategori" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Lagervare" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Lagervarer" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Lagerplassering" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Lagerhistorikk" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Lagerhistorikk" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Produksjon" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Produksjoner" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Firma" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Firma" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Prosjektkode" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Prosjektkoder" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Innkjøpsordre" msgid "Purchase Orders" msgstr "Innkjøpsordrer" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Ordrelinje for innkjøpsordre" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Ordrelinjer for innkjøpsordre" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Salgsordre" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Salgsordrer" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Salgsordreforsendelse" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Salgsordreforsendelser" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Returordre" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Returordrer" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Adresse" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Adresser" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Kontakt" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Kontakter" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Eier" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Eiere" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Bruker" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "Forsendelse" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Lagerbeholdning" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Visningsinnstillinger" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Fargemodus" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Språk" @@ -1606,127 +1613,127 @@ msgstr "Utseende" msgid "Show Boxes" msgstr "Vis bokser" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bulgarsk" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Tsjekkisk" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Dansk" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "Tysk" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Gresk" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "Engelsk" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spansk" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finsk" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "Fransk" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Hebraisk" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Ungarsk" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italiensk" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japansk" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Koreansk" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Nederlandsk" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norsk" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polsk" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Portugisisk" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasil)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Russisk" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Slovensk" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Svensk" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Thailandsk" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Tyrkisk" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnamesisk" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Kinesisk (forenklet)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Kinesisk (tradisjonell)" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "Handlinger for {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Tell" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "Historien ligger i denne nettleserens lokale lagringsplass. Så den vil ikke bli delt med andre brukere eller andre enheter, men er vedvarende ved gjennom nyinnlasting. Du kan velge elementer i historien for å utføre handlinger på dem. For å legge til elementer, skan/skriv dem inn i Input området." #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "Logg" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Bruk pseudo-språk" @@ -2828,7 +2835,7 @@ msgstr "Lagertelling" msgid "Build Orders" msgstr "Produksjonsordrer" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Bytt til brukerinnstilling" @@ -2872,7 +2879,11 @@ msgstr "Beklager, denne siden er ikke kjent eller ble flyttet." msgid "Go to the start page" msgstr "Gå til startsiden" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Marker som ulest" @@ -2916,7 +2927,7 @@ msgstr "Underordnede Produksjonsordrer" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Vedlegg" @@ -2926,7 +2937,7 @@ msgstr "Vedlegg" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Notater" @@ -2999,7 +3010,7 @@ msgstr "Produksjonsordre-handlinger" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Detaljer" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "På lager" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "Produseres" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Kategori" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Varianter" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Tildelinger" @@ -3290,19 +3301,19 @@ msgstr "Fullførte forsendelser" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Sporing av lager" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "Testdata" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Installerte artikler" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Underordnede artikler" @@ -3314,56 +3325,67 @@ msgstr "Underordnede artikler" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "Lagerhandlinger" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Tell beholdning" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Legg til" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Legg til lager" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Fjern lager" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Overfør" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Overfør lager" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Dupliser lagervare" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Dupliser lagervare" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "Dato" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Måldato" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Total pris" @@ -3469,101 +3491,102 @@ msgstr "Vis forfalte ordrer" msgid "Remove filter" msgstr "Fjern filter" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Velg filter" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Verdi" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Velg filterverdi" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "Tabellfiltre" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Legg til filter" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Fjern filtre" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Ingen poster funnet" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "Serveren returnerte feil datatype" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Ugyldig forespørsel" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Uautorisert" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Forbudt" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Ikke funnet" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 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:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "Denne handlingen kan ikke angres!" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "Slettede oppføringer" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "Oppføringer slettet" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "Kunne ikke slette oppføringer" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Strekkodehandlinger" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Utskriftshandlinger" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Oppdater data" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Tabellfiltre" @@ -3596,7 +3619,7 @@ msgstr "Inkluderer variantbeholdning" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "Lagerinformasjon" @@ -3694,7 +3717,7 @@ msgstr "Er du sikker på at du vil fjerne dette BOM-elementet?" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Aktiv" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Tilgjengelig" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "Ingen lagerbeholdning tilgjengelig" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Alder" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "Melding" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "Rediger del-parameter" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "Slett del-parameter" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "Legg til parameter" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "Inkluder varianter" @@ -4102,19 +4125,19 @@ msgstr "Har enheter" msgid "Show templates with units" msgstr "Vis maler med enheter" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "Rediger parametermal" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "Slett parametermal" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "Legg til parametermal" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Filtrer etter del aktiv-status" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Sammenstilling" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Ikke virtuell" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "Informasjon om utvidelse" msgid "Author" msgstr "Forfatter" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "Dato" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "Informasjon om pakken" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "Eksempel" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Installert" @@ -4869,155 +4924,243 @@ msgstr "Bruker lagt til" msgid "Edit user" msgstr "Rediger bruker" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "Denne lagervaren er i produksjon" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "Denne lagervaren har blitt tildelt en salgsordre" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "Denne lagervaren har blitt tilordnet en kunde" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "Denne lagervaren er montert i en annen lagervare" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "Denne lagervaren har blitt konsumert av en produksjonsordre" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "Denne lagervaren har utløpt" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "Denne lagervaren er gammel" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "Denne lagervaren er i sin helhet tilordnet" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "Denne lagervaren er delvis tilordnet" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "Denne lagervaren er oppbrukt" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "Vis lagerbeholdning for aktive deler" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "Filtrer etter lagerstatus" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "Vis lagerbeholdning for sammensatte deler" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "Tildelt" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "Vis elementer som har blitt tildelt" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "Vis elementer som er tilgjengelige" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "Inkluder underplasseringer" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "Inkluder lager i underplasseringer" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "Oppbrukt" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "Vis oppbrukte lagervarer" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "Vis elementer som er på lager" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "Under produksjon" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "Vis elementer som er under produksjon" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "Inkluder lagervarer for variantdeler" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "Vis lagervarer som er installert i andre elementer" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "Sendt til kunde" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "Vis elementer som er sendt til en kunde" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "Er serialisert" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "Vis elementer som har et serienummer" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "Har batchkode" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "Vis elementer som har en batchkode" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "Spores" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "Vis sporede deler" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "Har innkjøpspris" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "Vis elementer som har innkjøpspris" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "Ekstern plassering" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "Vis elementer ved en ekstern plassering" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "Inkluder underkategorier i resultatene" @@ -5054,4 +5197,3 @@ msgstr "Plattformgrensesnittet er optimalisert for Nettbrett og Desktop, du kan #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Les dokumentasjonen" - diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 7346095d5afa..9b84fe2f865c 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 8675ccc88c2b..bb72f6940b23 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -88,8 +88,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -309,26 +309,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -343,7 +343,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -351,8 +351,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -433,7 +433,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -451,7 +451,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -497,11 +497,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -741,7 +749,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -805,8 +813,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -816,17 +824,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -865,12 +873,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -900,88 +908,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -989,79 +1005,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1077,8 +1093,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1270,10 +1286,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "" @@ -1346,11 +1358,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1579,17 +1586,17 @@ msgstr "" #~ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1645,127 +1652,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2474,7 +2481,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2535,7 +2542,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2595,7 +2602,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2867,7 +2874,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2911,7 +2918,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2955,7 +2966,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2965,7 +2976,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -3038,7 +3049,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3134,7 +3145,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3168,7 +3179,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3237,7 +3248,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3329,19 +3340,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3353,56 +3364,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3508,101 +3530,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3635,7 +3658,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3733,7 +3756,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3757,8 +3780,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3787,7 +3810,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3963,7 +3986,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4055,11 +4078,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4093,26 +4116,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4141,19 +4164,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4178,7 +4201,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4251,30 +4274,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4345,10 +4404,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4518,7 +4573,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4908,155 +4963,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index 5b4c1688a314..efdc811e2900 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -48,8 +48,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -250,26 +250,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -284,7 +284,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -292,8 +292,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -374,7 +374,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -392,7 +392,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -434,11 +434,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -678,7 +686,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -734,8 +742,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -745,17 +753,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -794,12 +802,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -829,88 +837,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -918,79 +934,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1006,8 +1022,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1199,10 +1215,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "" @@ -1271,11 +1283,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1504,17 +1511,17 @@ msgstr "" #~ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1570,127 +1577,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2195,7 +2202,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2256,7 +2263,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2316,7 +2323,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2588,7 +2595,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2628,7 +2635,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2672,7 +2683,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2682,7 +2693,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2755,7 +2766,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -2847,7 +2858,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -2881,7 +2892,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -2950,7 +2961,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3034,19 +3045,19 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3058,56 +3069,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3213,101 +3235,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3340,7 +3363,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3438,7 +3461,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3462,8 +3485,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3492,7 +3515,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3668,7 +3691,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -3760,11 +3783,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -3798,26 +3821,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -3846,19 +3869,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -3883,7 +3906,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -3956,30 +3979,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4050,10 +4109,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4223,7 +4278,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4613,155 +4668,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 6f4414016194..f419d229e9b4 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-02-15 02:43\n" +"PO-Revision-Date: 2024-02-26 06:39\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -53,8 +53,8 @@ msgstr "Atualizar" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Erro" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Buscar" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Nenhum resultado encontrado" @@ -308,7 +308,7 @@ msgstr "Remover imagem associada a este item?" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Remover" @@ -316,8 +316,8 @@ msgstr "Remover" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Cancelar" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Apagar item" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Duplicar" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Erro desconhecido" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Escanear código QR" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "Aprovado" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "Reprovado" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Sim" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Não" @@ -702,7 +710,7 @@ msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Configurações do Sistema" @@ -766,8 +774,8 @@ msgstr "Sobre" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Notificações" @@ -777,17 +785,17 @@ msgstr "Você não tem notificações não lidas." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notificação" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Marcar como lido" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Locais de estoque" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Modelos de Parâmetro de Peça" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "Modelo de Teste de Peça" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Peças do Fornecedor" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Fabricante da peça" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Peças do Fabricante" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Categoria da Peça" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Item de estoque" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Itens de Estoque" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Localização do estoque" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "Histórico de estoque" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "Históricos de estoque" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Produzir" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Compilações" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Empresa" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Empresas" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Código do Projeto" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Códigos de Projeto" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Pedido de Compra" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Pedido de Compra" msgid "Purchase Orders" msgstr "Pedidos de compra" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "Linha do Pedido de Compra" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "Linhas do Pedido de Compra" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Pedido de Venda" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Envio do Pedido Venda" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Envios do Pedido Venda" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Pedido de Devolução" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Pedidos de Devolução" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Endereço" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Endereços" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Contato" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Contatos" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Proprietário" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Proprietários" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Usuário" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "Remessa" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Estoque" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Configurações de tela" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Modo de cores" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Idioma" @@ -1606,127 +1613,127 @@ msgstr "Aparência" msgid "Show Boxes" msgstr "Mostrar Caixas" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Búlgaro" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Tcheco" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Dinamarquês" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "Alemão" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Grego" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "Inglês" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Espanhol" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "Persa" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finlandês" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "Francês" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Hebraico" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Húngaro" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italiano" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japonês" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Coreano" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Holandês" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norueguês" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polonês" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Português" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "Português (Brasileiro)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Russo" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "Eslovaco" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Esloveno" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Sueco" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Tailandês" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Turco" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Vietnamita" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Chinês (Simplificado)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Chinês (Tradicional)" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "Ações para {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Contar" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "O histórico é mantido no armazenamento local deste navegador. Por isso, ele não será compartilhado com outros usuários ou dispositivos, mas será persistente através de recarregamentos. Você pode selecionar itens no histórico para executar ações neles. Para adicionar itens, digitalize-os na área de entrada." #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "Histórico" @@ -2556,7 +2563,7 @@ msgstr "Primeiro nome:" msgid "Last name:" msgstr "Sobrenome:" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Usar pseudo-idioma" @@ -2828,7 +2835,7 @@ msgstr "Balanço" msgid "Build Orders" msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Mudar para Configuração de Usuário" @@ -2872,7 +2879,11 @@ msgstr "Desculpe, esta página não é conhecida ou foi movida." msgid "Go to the start page" msgstr "Ir para a página inicial" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Marcar como não lido" @@ -2916,7 +2927,7 @@ msgstr "Pedido de Produção Filhos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Anexos" @@ -2926,7 +2937,7 @@ msgstr "Anexos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Anotações" @@ -2999,7 +3010,7 @@ msgstr "Ações do Pedido de Produção" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Detalhes" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "Estoque Disponível" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "Em Estoque" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "Produzindo" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Categoria" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Variantes" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Alocações" @@ -3290,19 +3301,19 @@ msgstr "Envios Concluídos" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "Dados de Teste" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Itens Instalados" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Itens Filhos" @@ -3314,56 +3325,67 @@ msgstr "Itens Filhos" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "Operações de Estoque" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Contagem de estoque" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Adicionar" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Adicionar estoque" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Remover estoque" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Transferir estoque" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Duplicar item de estoque" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Duplicar item de estoque" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "Data" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Data Prevista" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Moeda" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "Preço Total" @@ -3469,101 +3491,102 @@ msgstr "Mostrar pedidos atrasados" msgid "Remove filter" msgstr "Remover filtro" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Selecionar filtro" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filtro" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Valor" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Selecionar valor do filtro" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "Filtros da Tabela" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Adicionar Filtro" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "O servidor retornou um tipo de dado incorreto" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Requisição inválida" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Não autorizado" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Proibido" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Não encontrado" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "Tem certeza que deseja apagar os registros selecionados?" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "Essa ação não pode ser desfeita!" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "Registos removidos" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "Registros foram removidos com sucesso" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "Falha ao remover registros" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Ações de código de barras" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Ações de impressão" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Filtros da Tabela" @@ -3596,7 +3619,7 @@ msgstr "Incluir estoque de variantes" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "Informação do Estoque" @@ -3694,7 +3717,7 @@ msgstr "Tem certeza que deseja remover este item da BOM?" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Ativo" @@ -3718,8 +3741,8 @@ msgstr "Mostrar linhas alocadas" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Disponível" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "Em produção" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "Nenhum estoque disponível" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Estado" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Idade" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "Mensagem" @@ -4054,26 +4077,26 @@ msgstr "Editar Categoria da Peça" msgid "Add Part Category" msgstr "Adicionar Categoria de Peça" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "Novo Parâmetro de Peça" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "Editar Parâmetro da Peça" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "Apagar Parâmetro da Peça" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "Adiciona parâmetro" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "Incluir Variantes" @@ -4102,19 +4125,19 @@ msgstr "Possui unidades" msgid "Show templates with units" msgstr "Mostrar modelos com unidades" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "Adicionar Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "Edital Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "Excluir Modelo de Parâmetro" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "Adicionar modelo de parâmetro" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Filtrar por peça em estado ativo" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Montagem" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Não é Virtual" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "Mostrar testes necessários" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "Mostrar testes que exigem um valor" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "Mostrar testes que exigem um anexo" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "Adicionar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "Editar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "Excluir Modelo de Teste" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "Buscar..." @@ -4306,10 +4365,6 @@ msgstr "Informações do plugin" msgid "Author" msgstr "Autor" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "Data" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "Informações do pacote" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "Amostra" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Instalado" @@ -4869,155 +4924,243 @@ msgstr "Usuário adicionado" msgid "Edit user" msgstr "Editar usuário" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "Este item de estoque está em produção" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "Este item em estoque foi reservado para um pedido" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "Este item em estoque foi reservado para um cliente" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "Este item em estoque foi instalado em outro item de estoque" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "Este item de estoque foi consumido por um pedido de produção" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "Este item de estoque expirou" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "Este item de estoque está velho" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "Este item de estoque está totalmente alocado" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "Este item de estoque está parcialmente alocado" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "Este item de estoque foi esgotado" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "Mostrar estoque de peças ativas" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "Filtrar por estado do estoque" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "Mostrar estoque para peças montadas" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "Alocado" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "Mostrar itens que foram alocados" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "Mostrar itens que estão disponíveis" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "Incluir Sublocais" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "Incluir estoque em sublocais" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "Esgotado" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "Mostrar itens de estoque esgotados" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "Mostrar itens que estão em estoque" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "Em Produção" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "Mostrar itens que estão em produção" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "Incluir itens de estoque para peças variantes" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 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:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "Enviar para Cliente" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "Mostrar itens enviados para um cliente" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "É Serializado" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "Mostrar itens com um número de série" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "Possuí Código de Lote" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "Mostrar itens com um código de lote" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "Monitorado" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "Mostrar itens monitorados" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "Tem Preço de Compra" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "Mostrar itens com preço de compra" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "Localização Externa" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "Mostrar itens com localização externa" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "Incluir sublocais nos resultados" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 813b6621a6f0..f30117dfd6b2 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -53,8 +53,8 @@ msgstr "Обновить" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Состояние: <0>рабочий ({0}), <1>плагины{ #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Ошибка" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Поиск" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Загрузка" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Ничего не найдено" @@ -308,7 +308,7 @@ msgstr "Удалить связанное изображение?" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "Удалить" @@ -316,8 +316,8 @@ msgstr "Удалить" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Отменить" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Подробнее" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Неизвестная ошибка" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Сканировать QR код" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Уведомления" @@ -777,17 +785,17 @@ msgstr "У вас нет непрочитанных уведомлений." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Пометить как прочитанное" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Места хранения" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Неизвестная модель: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Детали поставщиков" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Детали производителей" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Складские позиции" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Компании" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "Заказы на закупку" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Заказы на продажу" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Заказы на возврат" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "История" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "Убрать фильтрацию" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Выбрать фильтр" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Отфильтровать" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Значение" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Добавить фильтр" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index 1eb2ca96c788..b5f8754b2da6 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 5390bb47a377..e7e926adae9d 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 1590f4289c68..3cae160d8b8d 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -53,8 +53,8 @@ msgstr "Obnovi" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Status: <0>worker ({0}), <1>plugins{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Grеška" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Pretraga" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Učitavanje" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Nema pronađenih rezultata" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Obriši stavku" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Dupliciraj" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Saznaj više" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Nepoznata greška" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Skeniraj QR kod" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Da" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Ne" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 567966f1e282..55e503fd057e 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Fel" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Sök" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Inga resultat hittades" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Avbryt" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Läs mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Okänt fel" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Skanna QR-kod" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Ja" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Nej" @@ -702,7 +710,7 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Notifikationer" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Lagerplats" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Leverantörsartikel" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Tillverkarens artiklar" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Artikel i lager" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Bygg" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Företag" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Projektkod" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Projektkoder" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "Inköpsorder" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Försäljningsorder" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Returorder" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Användare" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Lagersaldo" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Visningsinställningar" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Färgläge" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Språk" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bulgariska" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Danska" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "Tyska" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Grekiska" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "Engelska" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spanska" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finska" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "Franska" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Ungerska" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italienska" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japanska" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norska" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polska" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Ryska" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "Slovakiska" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Svenska" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Turkiska" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "Förnamn:" msgid "Last name:" msgstr "Efternamn:" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "Tyvärr, denna sida hittades inte eller flyttad." msgid "Go to the start page" msgstr "Gå till startsidan" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Kategori" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "Ta bort filter" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Välj filter" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filter" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Värde" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Välj filtervärde" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Lägg till filter" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Rensa filter" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Inga resultat hittades" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Felaktig begäran" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Ej behörig" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Otillåten" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Hittades inte" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Streckkods åtgärder" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Skriv ut åtgärder" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Uppdatera data" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Tabellfilter" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Aktiv" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Status" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "Har enheter" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Filtrera på aktiv artiklestatus" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Montering" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Inte virtuell" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "Sök..." @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "Redigera användare" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "Plattform UI är optimerad för surfplattor och stationära datorer, kan #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Läs dokumenten" - diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index da9f3b112aa0..2fd0beb696eb 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1606,127 +1613,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "" - diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index efb60bb84caa..92fd0a2f3b8c 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -53,8 +53,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Hata" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Yükleniyor" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Vazgeç" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Devamını Oku" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "QR kodunu tara" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -702,7 +710,7 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -766,8 +774,8 @@ msgstr "Hakkında" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Bildirimler" @@ -777,17 +785,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Stok Konumları" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Üretici Parçaları" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Stok Kalemleri" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Şirketler" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Proje Kodu" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "" msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Satış Emirleri" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "İade Emirleri" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Kullanıcı" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Stok" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Görüntü Ayarları" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Renk Modu" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Dil" @@ -1606,127 +1613,127 @@ msgstr "Görünüm" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2828,7 +2835,7 @@ msgstr "" msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2872,7 +2879,11 @@ msgstr "Üzgünüz, böyle bir sayfa yok veya taşınmış." msgid "Go to the start page" msgstr "Başlangıç ​​sayfasına git" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2916,7 +2927,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2926,7 +2937,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Kategori" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3314,56 +3325,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "" msgid "Remove filter" msgstr "Filtreyi kaldır" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Filtre seç" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Filtre" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Değer" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Filtre değeri seç" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Filtre Ekle" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Hatalı istek" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Yasaklı" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Bulunamadı" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Barkod işlemleri" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Yazdırma işlemleri" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Tablo filtreleri" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Aktif" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Durum" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -4102,19 +4125,19 @@ msgstr "Birimi Var" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Parçanın aktiflik durumuna göre filtrele" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Montaj" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Sanal Değil" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "" #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Belgeleri okuyun" - diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 9035112c2ae5..4c25dd1b0142 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -53,8 +53,8 @@ msgstr "Cập nhật" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -274,26 +274,26 @@ msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "Lỗi" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "Tìm kiếm" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "Đang tải" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" @@ -308,7 +308,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -316,8 +316,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "Hủy bỏ" @@ -398,7 +398,7 @@ msgid "Delete item" msgstr "Xoá mặt hàng" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "Nhân bản" @@ -416,7 +416,7 @@ msgid "Read More" msgstr "Xem thêm" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "Lỗi không xác định" @@ -458,11 +458,19 @@ msgid "Scan QR code" msgstr "Quét mã QR" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "Đồng ý" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "Không" @@ -702,7 +710,7 @@ msgstr "Cài đặt tài khoản" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "Thiết lập hệ thống" @@ -766,8 +774,8 @@ msgstr "Giới thiệu" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "Thông báo" @@ -777,17 +785,17 @@ msgstr "Bạn chưa có thông báo mới." #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Thông báo" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Đánh dấu đã đọc" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -826,12 +834,12 @@ msgid "No results available for search query" msgstr "Không có kết quả nào được tìm thấy với truy vấn tìm kiếm" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "Vị trí kho hàng" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "Model không rõ: {model}" @@ -861,88 +869,96 @@ msgid "Part Parameter Templates" msgstr "Mẫu tham số phụ kiện" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "Phụ kiện nhà cung cấp" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "Nhà cung cấp phụ kiện" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "Phụ kiện nhà sản xuất" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "Nhà sản xuất phụ kiện" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "Danh mục phụ kiện" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "Vị trí kho hàng" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "Xây dựng" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "Bản dựng" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "Công ty" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "Doanh nghiệp" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "Mã dự án" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "Mã dự án" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "Đơn đặt mua" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -950,79 +966,79 @@ msgstr "Đơn đặt mua" msgid "Purchase Orders" msgstr "Đơn hàng mua" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "Đơn đặt bán" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Đơn hàng bán" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "Vận chuyển đơn hàng" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "Vận chuyển đơn hàng" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "Đơn hàng trả lại" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Đơn hàng trả lại" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "Liên hệ" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "Danh bạ" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "Người dùng" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1038,8 +1054,8 @@ msgstr "Lô hàng" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "Kho hàng" @@ -1231,10 +1247,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "Contact created" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "Attachment" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "Comment" @@ -1307,11 +1319,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "Test Name" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "Required" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1540,17 +1547,17 @@ msgstr "" #~ msgstr "Stock location updated" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "Cài đặt hiển thị" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "Chế độ màu sắc" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "Ngôn ngữ" @@ -1606,127 +1613,127 @@ msgstr "Diện mạo" msgid "Show Boxes" msgstr "Hiển thị hộp" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "Bulgarian" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "Czech" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "Danish" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "German" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "Greek" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "English" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "Spanish" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "Spanish (Mexican)" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "Farsi / Persian" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "Finnish" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "French" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "Hebrew" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "Hindi" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "Hungarian" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "Italian" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "Japanese" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "Korean" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "Dutch" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "Norwegian" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "Polish" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "Portuguese" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "Portuguese (Brazilian)" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "Russian" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "Slovenian" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "Swedish" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "Thai" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "Turkish" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "Tiếng Việt" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "Chinese (Simplified)" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "Chinese (Traditional)" @@ -2435,7 +2442,7 @@ msgid "Actions for {0}" msgstr "Chức năng cho {0}" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "Đếm" @@ -2496,7 +2503,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "Lịch sử được giữ trong lưu trữ nội bộ trình duyệt. Vậy nó sẽ không thể được chia sẻ với người dùng khác hoặc thiết bị khác nhưng nó vẫn tồn tại bền bỉ cho dù có nạp lại trang. Bạn có thể chọn mục trong lịch sử để thao tác với chúng. Để thêm mục, quét/nhập chúng trong khu vực nhập liệu." #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "Lịch sử" @@ -2556,7 +2563,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "Sử dụng ngôn ngữ pseudo" @@ -2828,7 +2835,7 @@ msgstr "Kiểm kê" msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "Chuyển sang thiết lập người dùng" @@ -2872,7 +2879,11 @@ msgstr "Rất tiếc, trang này không tồn tại hoặc đã bị xóa." msgid "Go to the start page" msgstr "Chuyển đến trang đầu" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "Đánh dấu chưa đọc" @@ -2916,7 +2927,7 @@ msgstr "Đơn đặt bản dựng con" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "Đính kèm" @@ -2926,7 +2937,7 @@ msgstr "Đính kèm" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "Ghi chú" @@ -2999,7 +3010,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "Chi tiết" @@ -3095,7 +3106,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "Còn hàng" @@ -3129,7 +3140,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "Danh mục" @@ -3198,7 +3209,7 @@ msgid "Variants" msgstr "Biến thể" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "Phân bổ" @@ -3290,19 +3301,19 @@ msgstr "" #~ msgid "Sublocations" #~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "Theo dõi tồn kho" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "Mục con" @@ -3314,56 +3325,67 @@ msgstr "Mục con" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "Unlink custom barcode from stock item" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "Đếm hàng" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "Thêm" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "Thêm hàng" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "Xóa hàng" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "Chuyển" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "Chuyển giao hàng" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "Nhân bản mặt hàng" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "Edit stock item" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "Nhân bản mặt hàng" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "Delete stock item" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "Ngày mục tiêu" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3469,101 +3491,102 @@ msgstr "Hiện đơn hàng quá hạn" msgid "Remove filter" msgstr "Xoá bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "Chọn bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "Bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "Giá trị" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "Lựa chọn giá trị để lọc" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "Bộ lọc bảng" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "Thêm bộ lọc" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "Xóa bộ lọc" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "Không tìm thấy biểu ghi" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "Yêu cầu không hợp lệ" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "Chưa cấp quyền" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "Bị cấm" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "Không tìm thấy" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "Chức năng mã vạch" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "Chức năng in ấn" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "Bộ lọc bảng" @@ -3596,7 +3619,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3694,7 +3717,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "Hoạt động" @@ -3718,8 +3741,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "Có sẵn" @@ -3748,7 +3771,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3924,7 +3947,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "Trạng thái" @@ -4016,11 +4039,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "Tuổi" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "Nội dụng tin nhắn" @@ -4054,26 +4077,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "Sửa tham số phụ kiện" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "Xóa tham số phụ kiện" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "Bao gồm các biến thể" @@ -4102,19 +4125,19 @@ msgstr "Có đơn vị" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "Thêm mẫu tham số" @@ -4139,7 +4162,7 @@ msgid "Filter by part active status" msgstr "Lọc theo trạng thái mở phụ kiện" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "Lắp ráp" @@ -4212,30 +4235,66 @@ msgid "Not Virtual" msgstr "Không ảo" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4306,10 +4365,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4479,7 +4534,7 @@ msgid "Sample" msgstr "Mẫu" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "Đã cài đặt" @@ -4869,155 +4924,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "Attachment" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "Required" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" @@ -5054,4 +5197,3 @@ msgstr "Giao diện nền tảng được tối ưu cho máy tính bảng và m #: src/views/MobileAppView.tsx:23 msgid "Read the docs" msgstr "Đọc tài liệu" - diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index c1653617750e..646433df0f7c 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -48,8 +48,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -250,26 +250,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -284,7 +284,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -292,8 +292,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -374,7 +374,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -392,7 +392,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -434,11 +434,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -678,7 +686,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -734,8 +742,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -745,17 +753,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -794,12 +802,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -829,88 +837,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -918,79 +934,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1006,8 +1022,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1199,10 +1215,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "" @@ -1271,11 +1283,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1504,17 +1511,17 @@ msgstr "" #~ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1570,127 +1577,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2195,7 +2202,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2256,7 +2263,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2316,7 +2323,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2588,7 +2595,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2628,7 +2635,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2672,7 +2683,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2682,7 +2693,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2755,7 +2766,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -2847,7 +2858,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -2881,7 +2892,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -2950,7 +2961,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3034,19 +3045,19 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3058,56 +3069,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3213,101 +3235,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3340,7 +3363,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3438,7 +3461,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3462,8 +3485,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3492,7 +3515,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3668,7 +3691,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -3760,11 +3783,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -3798,26 +3821,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -3846,19 +3869,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -3883,7 +3906,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -3956,30 +3979,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4050,10 +4109,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4223,7 +4278,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4613,155 +4668,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 029509bda13f..a55e45ae1c9e 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -48,8 +48,8 @@ msgstr "" #: src/functions/forms.tsx:299 #: src/hooks/UseForm.tsx:120 #: src/pages/Index/Scan.tsx:332 -#: src/pages/Notifications.tsx:79 -#: src/tables/InvenTreeTable.tsx:456 +#: src/pages/Notifications.tsx:123 +#: src/tables/InvenTreeTable.tsx:455 #: src/tables/RowActions.tsx:70 #: src/tables/plugin/PluginListTable.tsx:467 msgid "Delete" @@ -250,26 +250,26 @@ msgstr "" #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 #: src/pages/ErrorPage.tsx:25 -#: src/tables/InvenTreeTable.tsx:416 -#: src/tables/InvenTreeTable.tsx:489 +#: src/tables/InvenTreeTable.tsx:415 +#: src/tables/InvenTreeTable.tsx:488 #: src/tables/plugin/PluginListTable.tsx:393 msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:242 +#: src/components/forms/fields/RelatedModelField.tsx:292 #: src/pages/Index/Settings/UserSettings.tsx:64 #: src/tables/Search.tsx:23 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:243 +#: src/components/forms/fields/RelatedModelField.tsx:293 #: src/components/modals/AboutInvenTreeModal.tsx:81 #: src/components/widgets/WidgetLayout.tsx:134 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:309 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:245 +#: src/components/forms/fields/RelatedModelField.tsx:295 msgid "No results found" msgstr "" @@ -284,7 +284,7 @@ msgstr "" #: src/components/images/DetailsImage.tsx:67 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:192 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:299 -#: src/pages/stock/StockDetail.tsx:183 +#: src/pages/stock/StockDetail.tsx:192 msgid "Remove" msgstr "" @@ -292,8 +292,8 @@ msgstr "" #: src/contexts/ThemeContext.tsx:64 #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:38 -#: src/tables/FilterSelectDrawer.tsx:209 -#: src/tables/InvenTreeTable.tsx:457 +#: src/tables/FilterSelectDrawer.tsx:214 +#: src/tables/InvenTreeTable.tsx:456 #: src/tables/plugin/PluginListTable.tsx:356 msgid "Cancel" msgstr "" @@ -374,7 +374,7 @@ msgid "Delete item" msgstr "" #: src/components/items/ActionDropdown.tsx:210 -#: src/pages/stock/StockDetail.tsx:200 +#: src/pages/stock/StockDetail.tsx:209 #: src/tables/RowActions.tsx:30 msgid "Duplicate" msgstr "" @@ -392,7 +392,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:408 +#: src/tables/InvenTreeTable.tsx:407 msgid "Unknown error" msgstr "" @@ -434,11 +434,19 @@ msgid "Scan QR code" msgstr "" #: src/components/items/YesNoButton.tsx:16 +msgid "Pass" +msgstr "" + +#: src/components/items/YesNoButton.tsx:17 +msgid "Fail" +msgstr "" + +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:51 msgid "Yes" msgstr "" -#: src/components/items/YesNoButton.tsx:16 +#: src/components/items/YesNoButton.tsx:32 #: src/tables/Filter.tsx:52 msgid "No" msgstr "" @@ -678,7 +686,7 @@ msgstr "" #: src/components/nav/MainMenu.tsx:50 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:280 +#: src/pages/Index/Settings/SystemSettings.tsx:287 msgid "System Settings" msgstr "" @@ -734,8 +742,8 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:70 #: src/pages/Index/Settings/SystemSettings.tsx:101 #: src/pages/Index/Settings/UserSettings.tsx:94 -#: src/pages/Notifications.tsx:28 -#: src/pages/Notifications.tsx:100 +#: src/pages/Notifications.tsx:65 +#: src/pages/Notifications.tsx:152 msgid "Notifications" msgstr "" @@ -745,17 +753,17 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:102 #: src/components/nav/NotificationDrawer.tsx:108 -#: src/tables/notifications/NotificationsTable.tsx:34 +#: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" #: src/components/nav/NotificationDrawer.tsx:131 -#: src/pages/Notifications.tsx:36 +#: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" -#: src/components/nav/PartCategoryTree.tsx:80 -#: src/components/render/ModelType.tsx:53 +#: src/components/nav/PartCategoryTree.tsx:140 +#: src/components/render/ModelType.tsx:60 #: src/pages/Index/Settings/SystemSettings.tsx:163 #: src/pages/part/CategoryDetail.tsx:65 msgid "Part Categories" @@ -794,12 +802,12 @@ msgid "No results available for search query" msgstr "" #: src/components/nav/StockLocationTree.tsx:80 -#: src/components/render/ModelType.tsx:69 +#: src/components/render/ModelType.tsx:76 #: src/pages/stock/LocationDetail.tsx:54 msgid "Stock Locations" msgstr "" -#: src/components/render/Instance.tsx:135 +#: src/components/render/Instance.tsx:137 msgid "Unknown model: {model}" msgstr "" @@ -829,88 +837,96 @@ msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:36 +msgid "Part Test Template" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +msgid "Part Test Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:43 #: src/pages/company/SupplierPartDetail.tsx:78 #: src/tables/purchasing/SupplierPartTable.tsx:66 msgid "Supplier Part" msgstr "" -#: src/components/render/ModelType.tsx:37 +#: src/components/render/ModelType.tsx:44 msgid "Supplier Parts" msgstr "" -#: src/components/render/ModelType.tsx:44 +#: src/components/render/ModelType.tsx:51 msgid "Manufacturer Part" msgstr "" -#: src/components/render/ModelType.tsx:45 +#: src/components/render/ModelType.tsx:52 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:52 +#: src/components/render/ModelType.tsx:59 #: src/pages/part/CategoryDetail.tsx:101 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/pages/stock/StockDetail.tsx:225 +#: src/components/render/ModelType.tsx:67 +#: src/pages/stock/StockDetail.tsx:234 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:61 +#: src/components/render/ModelType.tsx:68 #: src/pages/company/CompanyDetail.tsx:106 #: src/pages/stock/LocationDetail.tsx:42 #: src/pages/stock/LocationDetail.tsx:82 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:68 +#: src/components/render/ModelType.tsx:75 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:76 +#: src/components/render/ModelType.tsx:83 msgid "Stock History" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Stock Histories" msgstr "" -#: src/components/render/ModelType.tsx:81 +#: src/components/render/ModelType.tsx:88 #: src/defaults/links.tsx:30 #: src/defaults/menuItems.tsx:43 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:82 +#: src/components/render/ModelType.tsx:89 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 #: src/pages/company/CompanyDetail.tsx:212 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:90 +#: src/components/render/ModelType.tsx:97 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:97 +#: src/components/render/ModelType.tsx:104 #: src/tables/TableHoverCard.tsx:58 msgid "Project Code" msgstr "" -#: src/components/render/ModelType.tsx:98 +#: src/components/render/ModelType.tsx:105 #: src/pages/Index/Settings/AdminCenter/Index.tsx:87 msgid "Project Codes" msgstr "" -#: src/components/render/ModelType.tsx:104 +#: src/components/render/ModelType.tsx:111 #: src/pages/purchasing/PurchaseOrderDetail.tsx:131 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:105 -#: src/pages/Index/Settings/SystemSettings.tsx:232 +#: src/components/render/ModelType.tsx:112 +#: src/pages/Index/Settings/SystemSettings.tsx:239 #: src/pages/company/CompanyDetail.tsx:99 #: src/pages/company/SupplierPartDetail.tsx:45 #: src/pages/part/PartDetail.tsx:547 @@ -918,79 +934,79 @@ msgstr "" msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:112 +#: src/components/render/ModelType.tsx:119 msgid "Purchase Order Line" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Purchase Order Lines" msgstr "" -#: src/components/render/ModelType.tsx:117 +#: src/components/render/ModelType.tsx:124 #: src/pages/sales/SalesOrderDetail.tsx:102 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:118 -#: src/pages/Index/Settings/SystemSettings.tsx:246 +#: src/components/render/ModelType.tsx:125 +#: src/pages/Index/Settings/SystemSettings.tsx:253 #: src/pages/company/CompanyDetail.tsx:115 #: src/pages/part/PartDetail.tsx:553 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:132 +#: src/components/render/ModelType.tsx:139 #: src/pages/sales/ReturnOrderDetail.tsx:68 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:133 -#: src/pages/Index/Settings/SystemSettings.tsx:260 +#: src/components/render/ModelType.tsx:140 +#: src/pages/Index/Settings/SystemSettings.tsx:267 #: src/pages/company/CompanyDetail.tsx:122 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:140 +#: src/components/render/ModelType.tsx:147 #: src/tables/company/AddressTable.tsx:47 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:141 +#: src/components/render/ModelType.tsx:148 #: src/pages/company/CompanyDetail.tsx:148 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:147 +#: src/components/render/ModelType.tsx:154 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:148 +#: src/components/render/ModelType.tsx:155 #: src/pages/company/CompanyDetail.tsx:142 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:154 +#: src/components/render/ModelType.tsx:161 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:155 +#: src/components/render/ModelType.tsx:162 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:161 +#: src/components/render/ModelType.tsx:168 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:162 +#: src/components/render/ModelType.tsx:169 #: src/pages/Index/Settings/AdminCenter/Index.tsx:63 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" @@ -1006,8 +1022,8 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:199 #: src/pages/part/PartDetail.tsx:470 #: src/pages/stock/LocationDetail.tsx:63 -#: src/pages/stock/StockDetail.tsx:140 -#: src/tables/stock/StockItemTable.tsx:38 +#: src/pages/stock/StockDetail.tsx:149 +#: src/tables/stock/StockItemTable.tsx:39 msgid "Stock" msgstr "" @@ -1199,10 +1215,6 @@ msgstr "" #~ msgid "Contact created" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:30 -#~ msgid "Attachment" -#~ msgstr "" - #: src/components/tables/general/AttachmentTable.tsx:47 #~ msgid "Comment" #~ msgstr "" @@ -1271,11 +1283,6 @@ msgstr "" #~ msgid "Test Name" #~ msgstr "" -#: src/components/tables/part/PartTestTemplateTable.tsx:39 -#: src/components/tables/part/PartTestTemplateTable.tsx:56 -#~ msgid "Required" -#~ msgstr "" - #: src/components/tables/part/PartTestTemplateTable.tsx:43 #: src/components/tables/part/PartTestTemplateTable.tsx:61 #~ msgid "Requires Value" @@ -1504,17 +1511,17 @@ msgstr "" #~ msgstr "" #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:16 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:17 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:22 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:23 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:32 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:33 msgid "Language" msgstr "" @@ -1570,127 +1577,127 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/contexts/LanguageContext.tsx:18 +#: src/contexts/LanguageContext.tsx:20 msgid "Bulgarian" msgstr "" -#: src/contexts/LanguageContext.tsx:19 +#: src/contexts/LanguageContext.tsx:21 msgid "Czech" msgstr "" -#: src/contexts/LanguageContext.tsx:20 +#: src/contexts/LanguageContext.tsx:22 msgid "Danish" msgstr "" -#: src/contexts/LanguageContext.tsx:21 +#: src/contexts/LanguageContext.tsx:23 msgid "German" msgstr "" -#: src/contexts/LanguageContext.tsx:22 +#: src/contexts/LanguageContext.tsx:24 msgid "Greek" msgstr "" -#: src/contexts/LanguageContext.tsx:23 +#: src/contexts/LanguageContext.tsx:25 msgid "English" msgstr "" -#: src/contexts/LanguageContext.tsx:24 +#: src/contexts/LanguageContext.tsx:26 msgid "Spanish" msgstr "" -#: src/contexts/LanguageContext.tsx:25 +#: src/contexts/LanguageContext.tsx:27 msgid "Spanish (Mexican)" msgstr "" -#: src/contexts/LanguageContext.tsx:26 +#: src/contexts/LanguageContext.tsx:28 msgid "Farsi / Persian" msgstr "" -#: src/contexts/LanguageContext.tsx:27 +#: src/contexts/LanguageContext.tsx:29 msgid "Finnish" msgstr "" -#: src/contexts/LanguageContext.tsx:28 +#: src/contexts/LanguageContext.tsx:30 msgid "French" msgstr "" -#: src/contexts/LanguageContext.tsx:29 +#: src/contexts/LanguageContext.tsx:31 msgid "Hebrew" msgstr "" -#: src/contexts/LanguageContext.tsx:30 +#: src/contexts/LanguageContext.tsx:32 msgid "Hindi" msgstr "" -#: src/contexts/LanguageContext.tsx:31 +#: src/contexts/LanguageContext.tsx:33 msgid "Hungarian" msgstr "" -#: src/contexts/LanguageContext.tsx:32 +#: src/contexts/LanguageContext.tsx:34 msgid "Italian" msgstr "" -#: src/contexts/LanguageContext.tsx:33 +#: src/contexts/LanguageContext.tsx:35 msgid "Japanese" msgstr "" -#: src/contexts/LanguageContext.tsx:34 +#: src/contexts/LanguageContext.tsx:36 msgid "Korean" msgstr "" -#: src/contexts/LanguageContext.tsx:35 +#: src/contexts/LanguageContext.tsx:37 msgid "Dutch" msgstr "" -#: src/contexts/LanguageContext.tsx:36 +#: src/contexts/LanguageContext.tsx:38 msgid "Norwegian" msgstr "" -#: src/contexts/LanguageContext.tsx:37 +#: src/contexts/LanguageContext.tsx:39 msgid "Polish" msgstr "" -#: src/contexts/LanguageContext.tsx:38 +#: src/contexts/LanguageContext.tsx:40 msgid "Portuguese" msgstr "" -#: src/contexts/LanguageContext.tsx:39 +#: src/contexts/LanguageContext.tsx:41 msgid "Portuguese (Brazilian)" msgstr "" -#: src/contexts/LanguageContext.tsx:40 +#: src/contexts/LanguageContext.tsx:42 msgid "Russian" msgstr "" -#: src/contexts/LanguageContext.tsx:41 +#: src/contexts/LanguageContext.tsx:43 msgid "Slovak" msgstr "" -#: src/contexts/LanguageContext.tsx:42 +#: src/contexts/LanguageContext.tsx:44 msgid "Slovenian" msgstr "" -#: src/contexts/LanguageContext.tsx:43 +#: src/contexts/LanguageContext.tsx:45 msgid "Swedish" msgstr "" -#: src/contexts/LanguageContext.tsx:44 +#: src/contexts/LanguageContext.tsx:46 msgid "Thai" msgstr "" -#: src/contexts/LanguageContext.tsx:45 +#: src/contexts/LanguageContext.tsx:47 msgid "Turkish" msgstr "" -#: src/contexts/LanguageContext.tsx:46 +#: src/contexts/LanguageContext.tsx:48 msgid "Vietnamese" msgstr "" -#: src/contexts/LanguageContext.tsx:47 +#: src/contexts/LanguageContext.tsx:49 msgid "Chinese (Simplified)" msgstr "" -#: src/contexts/LanguageContext.tsx:48 +#: src/contexts/LanguageContext.tsx:50 msgid "Chinese (Traditional)" msgstr "" @@ -2195,7 +2202,7 @@ msgid "Actions for {0}" msgstr "" #: src/pages/Index/Scan.tsx:262 -#: src/pages/stock/StockDetail.tsx:173 +#: src/pages/stock/StockDetail.tsx:182 msgid "Count" msgstr "" @@ -2256,7 +2263,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:364 -#: src/pages/Notifications.tsx:56 +#: src/pages/Notifications.tsx:100 msgid "History" msgstr "" @@ -2316,7 +2323,7 @@ msgstr "" msgid "Last name:" msgstr "" -#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:39 +#: src/pages/Index/Settings/AccountSettings/DisplaySettingsPanel.tsx:41 msgid "Use pseudo language" msgstr "" @@ -2588,7 +2595,7 @@ msgstr "" msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:283 +#: src/pages/Index/Settings/SystemSettings.tsx:290 msgid "Switch to User Setting" msgstr "" @@ -2628,7 +2635,11 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:64 +#: src/pages/Notifications.tsx:43 +msgid "Delete Notifications" +msgstr "" + +#: src/pages/Notifications.tsx:108 msgid "Mark as unread" msgstr "" @@ -2672,7 +2683,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:78 #: src/pages/sales/ReturnOrderDetail.tsx:38 #: src/pages/sales/SalesOrderDetail.tsx:72 -#: src/pages/stock/StockDetail.tsx:113 +#: src/pages/stock/StockDetail.tsx:122 msgid "Attachments" msgstr "" @@ -2682,7 +2693,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:90 #: src/pages/sales/ReturnOrderDetail.tsx:50 #: src/pages/sales/SalesOrderDetail.tsx:84 -#: src/pages/stock/StockDetail.tsx:125 +#: src/pages/stock/StockDetail.tsx:134 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:172 msgid "Notes" msgstr "" @@ -2755,7 +2766,7 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:37 #: src/pages/company/SupplierPartDetail.tsx:35 #: src/pages/part/PartDetail.tsx:449 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/stock/StockDetail.tsx:71 msgid "Details" msgstr "" @@ -2847,7 +2858,7 @@ msgid "Available Stock" msgstr "" #: src/pages/part/PartDetail.tsx:145 -#: src/tables/stock/StockItemTable.tsx:264 +#: src/tables/stock/StockItemTable.tsx:265 msgid "In Stock" msgstr "" @@ -2881,7 +2892,7 @@ msgid "Building" msgstr "" #: src/pages/part/PartDetail.tsx:228 -#: src/tables/notifications/NotificationsTable.tsx:29 +#: src/tables/notifications/NotificationsTable.tsx:31 msgid "Category" msgstr "" @@ -2950,7 +2961,7 @@ msgid "Variants" msgstr "" #: src/pages/part/PartDetail.tsx:489 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/stock/StockDetail.tsx:83 msgid "Allocations" msgstr "" @@ -3034,19 +3045,19 @@ msgstr "" msgid "Completed Shipments" msgstr "" -#: src/pages/stock/StockDetail.tsx:76 +#: src/pages/stock/StockDetail.tsx:77 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:90 +#: src/pages/stock/StockDetail.tsx:91 msgid "Test Data" msgstr "" -#: src/pages/stock/StockDetail.tsx:96 +#: src/pages/stock/StockDetail.tsx:105 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:102 +#: src/pages/stock/StockDetail.tsx:111 msgid "Child Items" msgstr "" @@ -3058,56 +3069,67 @@ msgstr "" #~ msgid "Unlink custom barcode from stock item" #~ msgstr "" -#: src/pages/stock/StockDetail.tsx:169 +#: src/pages/stock/StockDetail.tsx:178 msgid "Stock Operations" msgstr "" -#: src/pages/stock/StockDetail.tsx:174 +#: src/pages/stock/StockDetail.tsx:183 msgid "Count stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:178 +#: src/pages/stock/StockDetail.tsx:187 +#: src/tables/stock/StockItemTestResultTable.tsx:305 msgid "Add" msgstr "" -#: src/pages/stock/StockDetail.tsx:179 +#: src/pages/stock/StockDetail.tsx:188 msgid "Add stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:184 +#: src/pages/stock/StockDetail.tsx:193 msgid "Remove stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:188 +#: src/pages/stock/StockDetail.tsx:197 msgid "Transfer" msgstr "" -#: src/pages/stock/StockDetail.tsx:189 +#: src/pages/stock/StockDetail.tsx:198 msgid "Transfer stock" msgstr "" -#: src/pages/stock/StockDetail.tsx:201 -msgid "Duplicate stock item" -msgstr "" - #: src/pages/stock/StockDetail.tsx:205 #~ msgid "Edit stock item" #~ msgstr "" +#: src/pages/stock/StockDetail.tsx:210 +msgid "Duplicate stock item" +msgstr "" + #: src/pages/stock/StockDetail.tsx:217 #~ msgid "Delete stock item" #~ msgstr "" -#: src/tables/ColumnRenderers.tsx:126 +#: src/tables/ColumnRenderers.tsx:78 +msgid "Note" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:128 +#: src/tables/plugin/PluginListTable.tsx:180 +#: src/tables/stock/StockItemTestResultTable.tsx:194 +msgid "Date" +msgstr "" + +#: src/tables/ColumnRenderers.tsx:137 msgid "Target Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:163 +#: src/tables/ColumnRenderers.tsx:174 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" -#: src/tables/ColumnRenderers.tsx:177 +#: src/tables/ColumnRenderers.tsx:188 msgid "Total Price" msgstr "" @@ -3213,101 +3235,102 @@ msgstr "" msgid "Remove filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:145 +#: src/tables/FilterSelectDrawer.tsx:147 msgid "Select filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:146 +#: src/tables/FilterSelectDrawer.tsx:148 msgid "Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:153 +#: src/tables/FilterSelectDrawer.tsx:155 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:33 +#: src/tables/stock/StockItemTestResultTable.tsx:182 msgid "Value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:154 +#: src/tables/FilterSelectDrawer.tsx:156 msgid "Select filter value" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:188 +#: src/tables/FilterSelectDrawer.tsx:190 msgid "Table Filters" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:219 +#: src/tables/FilterSelectDrawer.tsx:224 msgid "Add Filter" msgstr "" -#: src/tables/FilterSelectDrawer.tsx:228 +#: src/tables/FilterSelectDrawer.tsx:233 msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:88 -#: src/tables/InvenTreeTable.tsx:352 -#: src/tables/InvenTreeTable.tsx:373 +#: src/tables/InvenTreeTable.tsx:89 +#: src/tables/InvenTreeTable.tsx:354 +#: src/tables/InvenTreeTable.tsx:375 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:387 +#: src/tables/InvenTreeTable.tsx:386 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:395 +#: src/tables/InvenTreeTable.tsx:394 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:398 +#: src/tables/InvenTreeTable.tsx:397 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:401 +#: src/tables/InvenTreeTable.tsx:400 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:404 +#: src/tables/InvenTreeTable.tsx:403 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:446 -#: src/tables/InvenTreeTable.tsx:537 +#: src/tables/InvenTreeTable.tsx:445 +#: src/tables/InvenTreeTable.tsx:536 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:450 +#: src/tables/InvenTreeTable.tsx:449 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:452 +#: src/tables/InvenTreeTable.tsx:451 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:480 +#: src/tables/InvenTreeTable.tsx:479 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:481 +#: src/tables/InvenTreeTable.tsx:480 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:490 +#: src/tables/InvenTreeTable.tsx:489 msgid "Failed to delete records" msgstr "" +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/InvenTreeTable.tsx:518 -#: src/tables/InvenTreeTable.tsx:519 msgid "Barcode actions" msgstr "" +#: src/tables/InvenTreeTable.tsx:526 #: src/tables/InvenTreeTable.tsx:527 -#: src/tables/InvenTreeTable.tsx:528 msgid "Print actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:553 +#: src/tables/InvenTreeTable.tsx:552 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:571 +#: src/tables/InvenTreeTable.tsx:570 msgid "Table filters" msgstr "" @@ -3340,7 +3363,7 @@ msgstr "" #: src/tables/bom/BomTable.tsx:197 #: src/tables/part/PartTable.tsx:146 -#: src/tables/stock/StockItemTable.tsx:171 +#: src/tables/stock/StockItemTable.tsx:172 msgid "Stock Information" msgstr "" @@ -3438,7 +3461,7 @@ msgstr "" #: src/tables/part/PartVariantTable.tsx:15 #: src/tables/plugin/PluginListTable.tsx:188 #: src/tables/plugin/PluginListTable.tsx:627 -#: src/tables/stock/StockItemTable.tsx:228 +#: src/tables/stock/StockItemTable.tsx:229 msgid "Active" msgstr "" @@ -3462,8 +3485,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:38 #: src/tables/part/PartTable.tsx:119 -#: src/tables/stock/StockItemTable.tsx:135 -#: src/tables/stock/StockItemTable.tsx:249 +#: src/tables/stock/StockItemTable.tsx:136 +#: src/tables/stock/StockItemTable.tsx:250 msgid "Available" msgstr "" @@ -3492,7 +3515,7 @@ msgid "In production" msgstr "" #: src/tables/build/BuildLineTable.tsx:103 -#: src/tables/stock/StockItemTable.tsx:144 +#: src/tables/stock/StockItemTable.tsx:145 msgid "No stock available" msgstr "" @@ -3668,7 +3691,7 @@ msgstr "" #: src/tables/purchasing/PurchaseOrderTable.tsx:55 #: src/tables/sales/ReturnOrderTable.tsx:45 #: src/tables/sales/SalesOrderTable.tsx:52 -#: src/tables/stock/StockItemTable.tsx:233 +#: src/tables/stock/StockItemTable.tsx:234 msgid "Status" msgstr "" @@ -3760,11 +3783,11 @@ msgstr "" msgid "Machine driver detail" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:24 +#: src/tables/notifications/NotificationsTable.tsx:26 msgid "Age" msgstr "" -#: src/tables/notifications/NotificationsTable.tsx:38 +#: src/tables/notifications/NotificationsTable.tsx:40 #: src/tables/plugin/PluginErrorTable.tsx:37 msgid "Message" msgstr "" @@ -3798,26 +3821,26 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: src/tables/part/PartParameterTable.tsx:93 +#: src/tables/part/PartParameterTable.tsx:95 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:108 -#: src/tables/part/PartParameterTable.tsx:130 +#: src/tables/part/PartParameterTable.tsx:110 +#: src/tables/part/PartParameterTable.tsx:132 msgid "Edit Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:116 -#: src/tables/part/PartParameterTable.tsx:138 +#: src/tables/part/PartParameterTable.tsx:118 +#: src/tables/part/PartParameterTable.tsx:140 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:155 +#: src/tables/part/PartParameterTable.tsx:157 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:274 +#: src/tables/part/PartParameterTable.tsx:178 +#: src/tables/stock/StockItemTable.tsx:275 msgid "Include Variants" msgstr "" @@ -3846,19 +3869,19 @@ msgstr "" msgid "Show templates with units" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:80 +#: src/tables/part/PartParameterTemplateTable.tsx:85 msgid "Add Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:92 +#: src/tables/part/PartParameterTemplateTable.tsx:97 msgid "Edit Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:100 +#: src/tables/part/PartParameterTemplateTable.tsx:105 msgid "Delete Parameter Template" msgstr "" -#: src/tables/part/PartParameterTemplateTable.tsx:130 +#: src/tables/part/PartParameterTemplateTable.tsx:135 msgid "Add parameter template" msgstr "" @@ -3883,7 +3906,7 @@ msgid "Filter by part active status" msgstr "" #: src/tables/part/PartTable.tsx:176 -#: src/tables/stock/StockItemTable.tsx:239 +#: src/tables/stock/StockItemTable.tsx:240 msgid "Assembly" msgstr "" @@ -3956,30 +3979,66 @@ msgid "Not Virtual" msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:52 +msgid "Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:54 +msgid "No Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:79 msgid "Show required tests" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:56 +#: src/tables/part/PartTestTemplateTable.tsx:83 +msgid "Show enabled tests" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:87 msgid "Show tests that require a value" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:60 +#: src/tables/part/PartTestTemplateTable.tsx:91 msgid "Show tests that require an attachment" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:80 -#: src/tables/part/PartTestTemplateTable.tsx:135 +#: src/tables/part/PartTestTemplateTable.tsx:95 +msgid "Include Inherited" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:96 +msgid "Show tests from inherited templates" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:100 +msgid "Has Results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:101 +msgid "Show tests which have recorded results" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:122 +#: src/tables/part/PartTestTemplateTable.tsx:191 msgid "Add Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:93 +#: src/tables/part/PartTestTemplateTable.tsx:135 msgid "Edit Test Template" msgstr "" -#: src/tables/part/PartTestTemplateTable.tsx:101 +#: src/tables/part/PartTestTemplateTable.tsx:143 msgid "Delete Test Template" msgstr "" +#: src/tables/part/PartTestTemplateTable.tsx:145 +msgid "This action cannot be reversed" +msgstr "" + +#: src/tables/part/PartTestTemplateTable.tsx:147 +msgid "Any tests results associated with this template will be deleted" +msgstr "" + #: src/tables/part/PartThumbTable.tsx:202 msgid "Search..." msgstr "" @@ -4050,10 +4109,6 @@ msgstr "" msgid "Author" msgstr "" -#: src/tables/plugin/PluginListTable.tsx:180 -msgid "Date" -msgstr "" - #: src/tables/plugin/PluginListTable.tsx:196 msgid "Package information" msgstr "" @@ -4223,7 +4278,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:642 -#: src/tables/stock/StockItemTable.tsx:279 +#: src/tables/stock/StockItemTable.tsx:280 msgid "Installed" msgstr "" @@ -4613,155 +4668,243 @@ msgstr "" msgid "Edit user" msgstr "" -#: src/tables/stock/StockItemTable.tsx:59 +#: src/tables/stock/StockItemTable.tsx:60 msgid "This stock item is in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:68 +#: src/tables/stock/StockItemTable.tsx:69 msgid "This stock item has been assigned to a sales order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:77 +#: src/tables/stock/StockItemTable.tsx:78 msgid "This stock item has been assigned to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:86 +#: src/tables/stock/StockItemTable.tsx:87 msgid "This stock item is installed in another stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:95 +#: src/tables/stock/StockItemTable.tsx:96 msgid "This stock item has been consumed by a build order" msgstr "" -#: src/tables/stock/StockItemTable.tsx:104 +#: src/tables/stock/StockItemTable.tsx:105 msgid "This stock item has expired" msgstr "" -#: src/tables/stock/StockItemTable.tsx:108 +#: src/tables/stock/StockItemTable.tsx:109 msgid "This stock item is stale" msgstr "" -#: src/tables/stock/StockItemTable.tsx:119 +#: src/tables/stock/StockItemTable.tsx:120 msgid "This stock item is fully allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:126 +#: src/tables/stock/StockItemTable.tsx:127 msgid "This stock item is partially allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:155 +#: src/tables/stock/StockItemTable.tsx:156 msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:229 +#: src/tables/stock/StockItemTable.tsx:230 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:234 +#: src/tables/stock/StockItemTable.tsx:235 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:240 +#: src/tables/stock/StockItemTable.tsx:241 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:244 +#: src/tables/stock/StockItemTable.tsx:245 msgid "Allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:245 +#: src/tables/stock/StockItemTable.tsx:246 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:250 +#: src/tables/stock/StockItemTable.tsx:251 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:254 +#: src/tables/stock/StockItemTable.tsx:255 #: src/tables/stock/StockLocationTable.tsx:37 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:256 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:259 +#: src/tables/stock/StockItemTable.tsx:260 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:261 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/stock/StockItemTable.tsx:266 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:269 +#: src/tables/stock/StockItemTable.tsx:270 msgid "In Production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:271 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:281 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:284 +#: src/tables/stock/StockItemTable.tsx:285 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:286 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:289 +#: src/tables/stock/StockItemTable.tsx:290 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:290 +#: src/tables/stock/StockItemTable.tsx:291 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:297 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:298 +#: src/tables/stock/StockItemTable.tsx:299 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:303 +#: src/tables/stock/StockItemTable.tsx:304 msgid "Tracked" msgstr "" -#: src/tables/stock/StockItemTable.tsx:304 +#: src/tables/stock/StockItemTable.tsx:305 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:308 +#: src/tables/stock/StockItemTable.tsx:309 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:309 +#: src/tables/stock/StockItemTable.tsx:310 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:317 +#: src/tables/stock/StockItemTable.tsx:318 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:318 +#: src/tables/stock/StockItemTable.tsx:319 msgid "Show items in an external location" msgstr "" +#: src/tables/stock/StockItemTestResultTable.tsx:125 +msgid "Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:146 +msgid "Test Results" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:153 +msgid "Test result for installed stock item" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:164 +msgid "Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:170 +msgid "No Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:186 +msgid "Attachment" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:239 +#: src/tables/stock/StockItemTestResultTable.tsx:306 +#: src/tables/stock/StockItemTestResultTable.tsx:361 +msgid "Add Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:241 +msgid "Test result added" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:252 +#: src/tables/stock/StockItemTestResultTable.tsx:316 +msgid "Edit Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:254 +msgid "Test result updated" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:260 +#: src/tables/stock/StockItemTestResultTable.tsx:325 +msgid "Delete Test Result" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:262 +msgid "Test result deleted" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:276 +msgid "Test Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:277 +msgid "Test result has been recorded" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:294 +msgid "Pass Test" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:342 +msgid "Required" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:343 +msgid "Show results for required tests" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:347 +msgid "Include Installed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:348 +msgid "Show results for installed stock items" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:352 +msgid "Passed" +msgstr "" + +#: src/tables/stock/StockItemTestResultTable.tsx:353 +msgid "Show only passed tests" +msgstr "" + #: src/tables/stock/StockLocationTable.tsx:38 msgid "Include sublocations in results" msgstr ""